开发手册 欢迎您!
软件开发者资料库

Python numpy.count_nonzero函数方法的使用

NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。本文主要介绍一下NumPy中count_nonzero方法的使用。

numpy.count_nonzero

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

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

“non-zero”一词是指Python 2.x内置方法__nonzero__()(重命名为__bool__()。 例如,如果任何数字非零,则将其视为真实,而如果其不是空字符串,则将其视为真实。 因此,此函数(递归)计算a(及其子数组)中有多少个元素具__nonzero__()__bool__()方法计算为True

参数 :

a :array_like

要为其计数非零的数组。

axisinttuple, 可选

用于计算非零值的轴或轴元组。 默认值为None

这意味着非零将沿a的a展平版本计算。 

1.12.0版中的新功能。

keepdimsbool, 可选

如果将其设置为True,

则计算的轴将在结果中保留为尺寸为1的维度。

使用此选项,结果将针对输入数组正确传递。

返回值 :

count :int 或 int类型的array

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

例子

>>> 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]])