我有600L X 50L numpy.ndarray。基于第8列,如果它有" nan"作为一个值,我想从numpy.ndarray中删除整行。
因此,例如,如果第8列有10" nan"作为它的价值,我会删除那些" nan"位于。
我该怎么做?
我知道如何使用过滤器按钮但是excel,但想要在python中学习如何使用numpy。
谢谢:)
答案 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
值执行相同操作。