我使用以下方法对包含nan
值的数组求和:
for i in range(whatever):
a = *something different at each cycle*
b = np.nansum([b, a],axis=0)
#now calculate the average of b elements avoiding nan counts
(b
和a
具有相同的尺寸)。
现在,正如您所看到的,这是迭代的,添加元素以在末尾创建一个单个和数组。
最后,我想计算最终b
数组的每个元素的平均值,当然不包括计数中的nan
元素。
我发现的所有其他讨论只考虑了两个数组,并且使用nanmean获得了元素的平均值,但我认为这是不可能的。
如果nansum
不是最好的方式,我可能也会改变对元素求和的方法,但这就是我到现在为止所做的。
那么,是否有一种简单的方法可以从计数中获取除nan
元素之外的最终平均值?
编辑:使用a
数组(在示例中)在每个周期中进行更改,进行多次迭代,而不仅仅是一次。这就是为什么我无法使用与链接问题相同的解决方案
答案 0 :(得分:0)
您可以自己跟踪非nan
元素的数量
n = np.zeros(*shape of a*)
for i in range(whatever):
a = *something different at each cycle*
b = np.nansum([b, a],axis=0)
n = np.sum([n, np.invert(np.isnan(a))],axis=0)
avg = b/n