如何处理numpy数组中的空值

关于np.nan需要注意的地方总结如下:

  1. np.nan不是空对象。
  2. 对列表中的nan进行操作时不能用"==np.nan"来判断。只能用np.isnan()来操作。
  3. np.nan的数据类型是float。
import numpy as np

np.nan == np.nan
Out[3]: False

aa = np.array([1,2,3,np.nan,np.nan,4,5,np.nan])
aa
Out[5]: array([  1.,   2.,   3.,  nan,  nan,   4.,   5.,  nan])

aa[aa==np.nan] = 100  #错误方式
aa
Out[7]: array([  1.,   2.,   3.,  nan,  nan,   4.,   5.,  nan])

aa[np.isnan(aa)] = 100  #对nan操作的正确方式
aa
Out[9]: array([   1.,    2.,    3.,  100.,  100.,    4.,    5.,  100.])

type(np.nan)
Out[10]: float

猜你喜欢

转载自blog.csdn.net/qq_41689620/article/details/88062638