0
我有一个numpy 3d数组,我想在其中查找出现零值的概率。计算axis = 0中numpy 3d数组中零的出现次数
因此首先在想要的多少在轴存在零计数= 0
类似于arr.sum(轴= 0)是有,将在返回的2D阵列具有零点计数的任何方法我3d数组。
>>> print arr
[[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 7.43459761e-02 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
...,
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 4.58999968e+00
1.50299997e+01 2.30100002e+01]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 1.86000001e+00
5.51999998e+00 1.77899990e+01]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
...,
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 9.39900055e+01
1.11450005e+02 1.15800003e+02]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 8.20799942e+01
9.74399948e+01 1.06649994e+02]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
[[ 0.00000000e+00 3.74535918e-02 0.00000000e+00 ..., 3.89999986e-01
9.89999950e-01 9.30000007e-01]
[ 9.29514784e-03 5.75268008e-02 0.00000000e+00 ..., 7.50000000e-01
9.89999950e-01 1.28999996e+00]
[ 0.00000000e+00 7.26988986e-02 5.94767854e-02 ..., 1.71000004e+00
1.43999994e+00 7.19999969e-01]
...,
[ 4.54575920e+00 4.91925001e+00 1.09031944e+01 ..., 1.12470001e+02
9.32400055e+01 6.66599884e+01]
[ 0.00000000e+00 6.33960581e+00 1.05395260e+01 ..., 1.37279984e+02
1.22159996e+02 7.25400009e+01]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
...,
[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
8.99999961e-02 0.00000000e+00]
...,
[ 2.09804267e-01 1.32204843e+00 6.83585852e-02 ..., 7.19999969e-01
1.49999991e-01 0.00000000e+00]
[ 3.02928180e-01 6.30806535e-02 2.42170334e+00 ..., 4.86000013e+00
3.98999977e+00 5.48999977e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
...,
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 5.39999962e-01
5.99999987e-02 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 1.50000000e+00
1.19999997e-01 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
[[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
...,
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 ..., 0.00000000e+00
0.00000000e+00 0.00000000e+00]]
IIUC,'arr.sum(axis = 0)'也适用于3D案例。看着你的浮点数据,看起来你可以使用一些公差值来检查零,如'(np.abs(arr)
Divakar
这将是很好,如果numpy.count_nonzero接受轴参数,但https://github.com/numpy/numpy/issues/391 –