numpy.count_nonzero#
- numpy.count_nonzero(a, axis=None, *, keepdims=False)[source]#
计算数组
a
中非零值的个数。“非零”一词指的是 Python 2.x 内置方法
__nonzero__()
(在 Python 3.x 中重命名为__bool__()
) ,该方法测试 Python 对象的“真值性”。例如,任何非零数字都被认为是真值,而任何字符串如果非空则被认为是真值。因此,此函数(递归地)计算a
(及其子数组)中多少个元素的__nonzero__()
或__bool__()
方法被评估为True
。- 参数:
- aarray_like
要计算非零值的数组。
- axisint 或 tuple,可选
要沿其计算非零值的轴或轴的元组。默认为 None,表示将在
a
的扁平化版本上计算非零值。版本 1.12.0 中的新功能。
- keepdimsbool,可选
如果将其设置为 True,则计算的轴将保留在结果中,作为大小为 1 的维度。使用此选项,结果将与输入数组正确广播。
版本 1.19.0 中的新功能。
- 返回值:
- countint 或 int 数组
沿给定轴的数组中非零值的个数。否则,返回数组中非零值的总数。
另请参阅
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]])