具有纳米元素的阵列的迭代和的平均值

时间:2014-05-14 08:45:32

标签: python arrays numpy

我使用以下方法对包含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

ba具有相同的尺寸)。 现在,正如您所看到的,这是迭代的,添加元素以在末尾创建一个单个和数组。

最后,我想计算最终b数组的每个元素的平均值,当然不包括计数中的nan元素。

我发现的所有其他讨论只考虑了两个数组,并且使用nanmean获得了元素的平均值,但我认为这是不可能的。

如果nansum不是最好的方式,我可能也会改变对元素求和的方法,但这就是我到现在为止所做的。

那么,是否有一种简单的方法可以从计数中获取除nan元素之外的最终平均值?

编辑:使用a数组(在示例中)在每个周期中进行更改,进行多次迭代,而不仅仅是一次。这就是为什么我无法使用与链接问题相同的解决方案

1 个答案:

答案 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