axis
paramを使用できます。だから、最後の1をスキップする3D
配列のために、それは次のようになります -
a.all(axis=(0,1))
次元の一般的な数のndarraysを処理し、すべての軸に沿ってnumpy.all
操作を実行するが、指定され、実装は次のようになります -
In [90]: a = numpy.random.rand(7, 7, 3) < 0.99
In [91]: a.all(axis=(0,1))
Out[91]: array([False, False, True], dtype=bool)
In [92]: numpy_all_except_one(a) # By default skips last axis
Out[92]: array([False, False, True], dtype=bool)
In [93]: a.all(axis=(0,2))
Out[93]: array([ True, False, True, True, True, True, True], dtype=bool)
In [94]: numpy_all_except_one(a, axis=1)
Out[94]: array([ True, False, True, True, True, True, True], dtype=bool)
In [95]: a.all(axis=(1,2))
Out[95]: array([False, True, True, False, True, True, True], dtype=bool)
In [96]: numpy_all_except_one(a, axis=0)
Out[96]: array([False, True, True, False, True, True, True], dtype=bool)
-
def numpy_all_except_one(a, axis=-1):
axes = np.arange(a.ndim)
axes = np.delete(axes, axis)
return np.all(a, axis=tuple(axes))
サンプルは、すべての軸をテストするために実行されます