多次元numpy配列がすべての側面で0を持っているかどうかを確認する最も速い方法は何でしょうか。
だから、簡単な2Dの例として、私は:
x = np.random.rand(5, 5)
assert np.sum(x[0:, 0]) == 0
assert np.sum(x[0, 0:]) == 0
assert np.sum(x[0:, -1]) == 0
assert np.sum(x[-1, 0:]) == 0
これは2Dの場合には問題ありませんが、より高い次元での記述は少し面倒であり、効率的で保守しやすくするためにここで使用できる巧妙で厄介なトリックがあるかどうか疑問に思っていました。
—
ジョージー
@ Demi-Lume理にかなっています。私の場合、すべてが0以上になりますが、コメントは大歓迎です:)
—
Luca
3Dの場合、立方体の面(6つある)またはエッジ(12つある)を意味しますか?
—
Riccardo Bucco
@RiccardoBuccoうん、6面。しかし、私の問題は、それが3よりも高い次元に行くことができるということです
—
ルカ
np.all (x[:, 0] == 0)
合計よりも安全ではないでしょうか?合計検定は、すべての数値が正の場合にのみ正しいです。