私は大きな行列を持っています。そのどこかにすべてゼロの列があることを確認したいと思います。numpyでそれを行う方法は?
質問する
6399 次
2 に答える
16
1 つの方法を次に示します。
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])
于 2013-04-18T20:43:38.960 に答える
4
equals 0
マスク ( mat == 0
) を作成しall
、軸に沿って実行します。
(mat == 0).all(axis=0).any()
于 2013-04-18T20:43:01.707 に答える