如何在Numpy中加入NaN?

时间:2018-04-29 21:08:47

标签: python numpy

我必须将np.average获得的两个值相加为

for i in x :
    a1 = np.average(function1(i))
    a2 = np.average(function2(i))
    plt.plot(i, a1+a2, 'o')

np.average可能会返回NaN。然后,只会计算a1a2都可用的点数。

如何使用零而不是NaN来计算所有点的总和?

我尝试在numpy中找到一个函数来执行此操作,但numpy.nan_to_num用于数组。

2 个答案:

答案 0 :(得分:3)

您也可以使用:

clean_x = x[~np.isnan(x)]

答案 1 :(得分:0)

你可以像这样使用numpy:

import numpy as np

a = [1, 2, np.nan]
a_sum = np.nansum(a)
a_mean = np.nanmean(a)

print('a = ', a) # [1, 2, nan]
print("a_sum = {}".format(a_sum)) # 3.0
print("a_mean = {}".format(a_mean)) # 1.5