numpy中np.nansum()、np.nanmean()
NaN是什么?
:Not a Number(NaN),代表一个“不是数字”的值,这个值不能直接进行运算,但它却是一个Number类型!
在一个numpy数组求和、均值时,如果这个数组里包含了nan,则程序会报错或者求出来的值是nan,如下代码所示:
>>> arr = np.array([1, 2, 3, 4, np.nan])
>>> arr.sum()
nan
>>> arr.mean()
nan
如何在求和、均值时忽略nan?
使用:np.nansum()、np.nanmean()
>>> arr = np.array([1, 2, 3, 4, np.nan])
>>> arr.sum()
nan
>>> arr.mean()
nan
>>> np.nansum(arr) # np.nansum()中:nan取值为 0
10.0
>>> np.nanmean(arr) # np.nanmean()中:nan取值为0且取均值时忽略它,如:(1 + 2 + 3 + 4) / 4 = 2.5,而不是(1 + 2 + 3 + 4 + 0) / 5 = 2
2.5
在numpy中,当数组包含NaN值时,直接使用sum()和mean()等函数会导致结果为NaN。为解决这一问题,numpy提供了np.nansum()和np.nanmean()函数,它们在计算时会自动忽略NaN值,确保结果的准确性。
500

被折叠的 条评论
为什么被折叠?



