删除二维矩阵中的全零行
有没有什么简单又有效的方法,可以把一个二维数组中所有全是零的行去掉?我在看numpy的文档,但没找到相关的内容。
2 个回答
-1
你可以使用内置的函数 numpy.nonzero
。
http://docs.scipy.org/doc/numpy/reference/generated/numpy.nonzero.html
4
布尔索引可以解决这个问题:
In [2]:
a
Out[2]:
array([[4, 1, 1, 2, 0, 4],
[3, 4, 3, 1, 4, 4],
[1, 4, 3, 1, 0, 0],
[0, 4, 4, 0, 4, 3],
[0, 0, 0, 0, 0, 0]])
In [3]:
a[~(a==0).all(1)]
Out[3]:
array([[4, 1, 1, 2, 0, 4],
[3, 4, 3, 1, 4, 4],
[1, 4, 3, 1, 0, 0],
[0, 4, 4, 0, 4, 3]])