mean、nanmean和warning:空切片的平均值

10 浏览
0 Comments

mean、nanmean和warning:空切片的平均值

假设我构建了三个numpy数组:

a = np.array([1, 2, 3])

b = np.array([np.NaN, np.NaN, 3])

c = np.array([np.NaN, np.NaN, np.NaN])

现在我发现np.mean对于b和c都返回nan:

np.mean(a)

2.0

np.mean(b)

nan

np.mean(c)

nan

自从numpy 1.8(2016年4月20日发布)以来,我们拥有了nanmean,它会忽略nan值:

np.nanmean(a)

2.0

np.nanmean(b)

3.0

np.nanmean(c)

nan

所以,nanmean非常好用,但它有一个奇怪且不受欢迎的行为,就是当数组只包含nan值时会引发警告。

我想要获得nanmean的行为,但不想要这个警告。我不喜欢警告,也不想手动抑制它们。

0