删除包含" nan"的行在66180L X 69L numpy.ndarray

时间:2018-02-13 14:42:54

标签: python numpy

我有600L X 50L numpy.ndarray。基于第8列,如果它有" nan"作为一个值,我想从numpy.ndarray中删除整行。

因此,例如,如果第8列有10" nan"作为它的价值,我会删除那些" nan"位于。

我该怎么做?

我知道如何使用过滤器按钮但是excel,但想要在python中学习如何使用numpy。

谢谢:)

1 个答案:

答案 0 :(得分:0)

这已经回答了here,但我会告诉你如何做到这一点:

例如,您有以下数组:

In [3]: arr = np.eye(4)
In [4]: arr[1,0]=1

In [5]: arr
Out[5]:
array([[1., 0., 0., 0.],
       [1., 1., 0., 0.],
       [0., 0., 1., 0.],
       [0., 0., 0., 1.]])

然后用

过滤
In [30]: arr[arr[:,0]!=0,:]
Out[30]:
array([[1., 0., 0., 0.],
       [1., 1., 0., 0.]])

当然,您可以使用nan值执行相同操作。