numpy.count_nonzero #

麻木的。count_nonzero ( a , axis = None , * , keepdims = False ) [来源] #

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

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

参数
类似数组

要计算非零值的数组。

axis int 或 tuple,可选

沿其计算非零值的轴或轴元组。默认值为 None,这意味着非零值将沿着 的扁平版本进行计数a

1.12.0 版本中的新增内容。

keepdims布尔值,可选

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

1.19.0 版本中的新增内容。

返回
计数int 或 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]])