numpy.count_nonzero

numpy.count_nonzero(a, axis=None, *, keepdims=False)[源代码]

计算数组中非零值的数目 a .

单词“non-zero”是指python 2.x内置方法 __nonzero__() (改名) __bool__() 在python 3.x)中,测试对象“真实性”的python对象。例如,如果任何数字不为零,则认为它是真实的;而如果任何字符串不是空字符串,则认为它是真实的。因此,这个函数(递归地)计算 a (并在其子数组中)具有 __nonzero__()__bool__() 方法计算为 True .

参数
aarray_like

要对其非零计数的数组。

axisint或tuple,可选

用于计算非零的轴或轴的元组。默认值为“无”,这意味着非零将按照扁平版本的 a .

1.12.0 新版功能.

keepdims可选的布尔

如果设置为True,则计数的轴将作为尺寸为1的尺寸标注留在结果中。使用此选项,结果将针对输入数组正确广播。

1.19.0 新版功能.

返回
countint或int数组

数组中沿给定轴的非零值数。否则,将返回数组中非零值的总数。

参见

nonzero

返回所有非零值的坐标。

实例

>>> np.count_nonzero(np.eye(4))
4
>>> a = np.array([[0, 1, 7, 0],
...               [3, 0, 2, 19]])
>>> np.count_nonzero(a)
5
>>> np.count_nonzero(a, axis=0)
array([1, 1, 2, 1])
>>> np.count_nonzero(a, axis=1)
array([2, 3])
>>> np.count_nonzero(a, axis=1, keepdims=True)
array([[2],
       [3]])