numpy.count_nonzero#

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

计算数组 a 中非零值的数量。

“非零”一词指的是 Python 2.x 内置方法 __nonzero__()(在 Python 3.x 中重命名为 __bool__()),它用于测试 Python 对象的“真值”。例如,任何非零数字都被认为是真值,而任何非空字符串也被认为是真值。因此,此函数(递归地)计算 a(及其子数组)中有多少个元素的 __nonzero__()__bool__() 方法评估为 True

参数:
a类数组对象

用于计算非零值的数组。

axisint 或 tuple,可选

用于计算非零值的轴或轴元组。默认为 None,表示将沿 a 的展平版本计算非零值。

keepdimsbool,可选

如果设置为 True,则计算过的轴将保留在结果中,作为大小为一的维度。使用此选项,结果将能正确地与输入数组广播。

返回:
countint 或 int 数组

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

另请参阅

nonzero

返回所有非零值的坐标。

示例

>>> import numpy as np
>>> np.count_nonzero(np.eye(4))
np.int64(4)
>>> a = np.array([[0, 1, 7, 0],
...               [3, 0, 2, 19]])
>>> np.count_nonzero(a)
np.int64(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]])