numpy中的nan(判断一个元素等于nan, 及nan安全函数 )

Nunpy中的NaN

import numpy as np
np.nan
nan
np.NaN
nan
np.NAN
nan

多种方式创建nan(空值)


判断是否存在空值

x = np.array([1, 1, 8, np.nan, 10])
np.nan in x
False
np.isin(np.nan, x)
array(False)
1 in x
True
np.isin(1, x)
array(True)
np.isnan(x)
array([False, False, False,  True, False])
x[-2] == np.nan, np.isnan(x[-2])
(False, True)

在np中nan需要用isnan这个函数来识别,还要注意:

x
array([ 1.,  1.,  8., nan, 10.])

x 中所有的元素都变成了浮点型,这是因为nan是浮点型的。


nan安全函数

np.mean(x)
nan
np.nan.nanmean(x)
5.0

此外max, min, median等都是默认非nan安全的,需要加上nan来标记nan安全。

ps:pandas中是默认nan安全的。

你可能感兴趣的:(numpy中的nan(判断一个元素等于nan, 及nan安全函数 ))