numpy.count_nonzero#

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

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

非零值是指在布尔上下文中求值为 True 的值,包括任何非零数以及任何非空字符串。该函数会递归统计 a(及其子数组)中有多少元素是非零值。

参数:
a类数组对象

要统计非零元素的数组。

axisint 或 tuple,可选

沿哪个轴或轴的元组统计非零元素。默认值为 None,表示在 a 扁平化后的版本上统计非零元素。

keepdimsbool,可选

如果将其设为 True,统计的轴将在结果中保留为大小为 1 的维度。使用此选项,结果将能够正确地对输入数组进行广播。

返回:
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]])