Nunpy中的NaN
多种方式创建nan(空值)
import numpy as np
np.nan
nan
np.NaN
nan
np.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.nanmean(x)
5.0
此外max, min, median等都是默认非nan安全的,需要加上nan来标记nan安全。
ps:pandas中是默认nan安全的。