Python Numpy根据条件将三维阵列缩减为二维阵列
我有一个这样的3d阵列:Python Numpy根据条件将三维阵列缩减为二维阵列,python,numpy,Python,Numpy,我有一个这样的3d阵列: array([[[ 0, 1], [ 0, 0]], [[ 0, 0], [ 6, 7]]]) array([[1, 0], [0, 1]]) 我要做的是将其简化为二维数组,如下所示: array([[[ 0, 1], [ 0, 0]], [[ 0, 0], [ 6, 7]]]) array([[1, 0], [0, 1]
array([[[ 0, 1],
[ 0, 0]],
[[ 0, 0],
[ 6, 7]]])
array([[1, 0],
[0, 1]])
我要做的是将其简化为二维数组,如下所示:
array([[[ 0, 1],
[ 0, 0]],
[[ 0, 0],
[ 6, 7]]])
array([[1, 0],
[0, 1]])
其中,具有非零元素的原始子数组的每个子数组都有一个1,如果对应子数组的所有元素都为零,则为0
如何在没有循环的情况下干净地执行此操作?您可以沿最后一个轴(轴=-1
)使用: