如何检查矩阵是否包含零列?

时间:2013-04-18 20:34:57

标签: python numpy

我有一个大矩阵,我想检查它里面有一列全零。怎么做numpy?

2 个答案:

答案 0 :(得分:12)

这是一种方式:

In [19]: a
Out[19]: 
array([[9, 4, 0, 0, 7, 2, 0, 4, 0, 1, 2],
       [0, 2, 0, 0, 0, 7, 6, 0, 6, 2, 0],
       [6, 8, 0, 4, 0, 6, 2, 0, 8, 0, 3],
       [5, 4, 0, 0, 0, 0, 0, 0, 0, 3, 8]])

In [20]: (~a.any(axis=0)).any()
Out[20]: True

如果您以后决定需要列索引:

In [26]: numpy.where(~a.any(axis=0))[0]
Out[26]: array([2])

答案 1 :(得分:4)

创建equals 0掩码(mat == 0),并沿轴运行all

(mat == 0).all(axis=0).any()