在numpy-nd数组中计算非零向量

在numpy-nd数组中计算非零向量,numpy,numpy-ndarray,Numpy,Numpy Ndarray,我有一个带形状(x,y,d)的数组。 如何获得d维非零向量的数量(从x*y总d维向量中) 我尝试了np.count\u non zero,但我认为它不能像我所描述的那样进行操作。事实上,我认为这是可行的: sum(np.any(x) for x in p) (p是n轴)您需要将np.count\u nonzeo应用于最后一个轴(d)。它将返回一个x*y数组,其中包含d维中非零元素的计数。如果计数为0,那么它是一个零数组,因此您只需要计算x*y数组中不等于0的元素数 np.sum(np.appl

我有一个带形状(x,y,d)的数组。 如何获得d维非零向量的数量(从x*y总d维向量中)


我尝试了
np.count\u non zero
,但我认为它不能像我所描述的那样进行操作。

事实上,我认为这是可行的:

sum(np.any(x) for x in p)

(p是n轴)

您需要将np.count\u nonzeo应用于最后一个轴(d)。它将返回一个x*y数组,其中包含d维中非零元素的计数。如果计数为0,那么它是一个零数组,因此您只需要计算x*y数组中不等于0的元素数

np.sum(np.apply_along_axis(np.count_nonzero, 2, your_arr) != 0)

请提供一个例子并详细说明一个非零向量?请您解释一下您的代码,因为只有代码的答案没有那么有用吗?好的。补充说明