numpy.count_nonzero#

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

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

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

参数:
aarray_like

要计算非零值的数组.

axisint 或 tuple,可选

沿其计算非零值的轴或轴的元组.默认为 None,表示将沿 a 的扁平化版本计算非零值.

在 1.12.0 版本加入.

keepdimsbool, 可选

如果设置为 True,被计数的轴将作为尺寸为1的维度保留在结果中.使用此选项,结果将正确地与输入数组进行广播.

在 1.19.0 版本加入.

返回:
count整数或整数数组

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

参见

nonzero

返回所有非零值的坐标.

示例

>>> import numpy as np
>>> 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]])