Python学习笔记——在Numpy的ndarray数组中选择所有非Nan值

Python学习笔记——在Numpy的ndarray数组中选择所有非Nan值

  • 在ndarray中选择所有的nan值
  • 在ndarray中选择所有的非nan值

在ndarray中选择所有的nan值

选择所有的nan值可以使用isnan()函数:

In [217]: val 
Out[217]: array([ 0.,  8.,  3.,  4.,  7.,  0.,  3., nan,  2.,  0.])

In [218]: val[np.isnan(val)]
Out[218]: array([nan])

在ndarray中选择所有的非nan值

选择所有非nan值的话,Numpy里没有提供直接的函数,用not(np.isnan())是不行的。有两种方法可以实现:

In [219]: val[np.logical_not(np.isnan(val))] 
Out[219]: array([0., 8., 3., 4., 7., 0., 3., 2., 0.])

不过还有更简单的办法,使用逐元素的非运算“~”,注意不是减号

In [220]: val[~np.isnan(val)]
Out[220]: array([0., 8., 3., 4., 7., 0., 3., 2., 0.])

你可能感兴趣的:(python,python)