numpy.count_nonzero#

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

計算陣列 a 中非零值的數量。

“非零”一詞參考 Python 2.x 內建方法 __nonzero__() (在 Python 3.x 中重新命名為 __bool__()),此方法測試 Python 物件的「真值」。例如,任何數字若為非零則視為真值,而任何字串若非空字串則視為真值。因此,此函數(遞迴地)計算 a(及其子陣列)中有多少元素的 __nonzero__()__bool__() 方法評估為 True

參數:
aarray_like

要計算非零值的陣列。

axisint 或 tuple,選用

要沿其計算非零值的軸或軸元組。預設值為 None,表示將沿 a 的展平版本計算非零值。

keepdimsbool,選用

若設定為 True,則被計數的軸將保留在結果中作為大小為一的維度。使用此選項,結果將正確地廣播以對抗輸入陣列。

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