我必须将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
。然后,只会计算a1
和a2
都可用的点数。
如何使用零而不是NaN
来计算所有点的总和?
我尝试在numpy中找到一个函数来执行此操作,但numpy.nan_to_num
用于数组。
答案 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