本文共 902 字,大约阅读时间需要 3 分钟。
前言
在机器学习或者深度学习中经常需要统计矩阵(也可看做多维数组)中行列不为0元素的个数,这时就需要用到numpy中的np.count_nonzero()函数。
作用
np.count_nonzero()是用于统计矩阵中非零元素的个数。
用法
np.count_nonzero(a, axis=None, *, keepdims=False),参数a: 为需要统计数组名;axis: 为统计的轴,当axis=0时统计数组y轴(每列)非零元素个数,当axis=1时统计数组每x轴(每行) 非零元素个数, 另外,axis可以为元组。为元组时统计的是多维矩阵的行列。keepdims用法暂时不清楚。
案例
a = np.array([[0, 1, 7, 0], [3, 0, 2, 19]])np.count_nonzero(a)5np.count_nonzero(a, axis=0)array([1, 1, 2, 1])np.count_nonzero(a, axis=1)array([2, 3])----------------------------d = np.array([[[1,2,1],[0,1,2],[0,2,3],[0,2,3]],[[1,2,1],[0,1,2],[0,2,3],[0,2,3]]])print(d)'''[[[1 2 1] [0 1 2] [0 2 3] [0 2 3]] [[1 2 1] [0 1 2] [0 2 3] [0 2 3]]]'''print(np.count_nonzero(d,axis=0)) '''[[2 2 2] [0 2 2] [0 2 2] [0 2 2]]'''print(np.count_nonzero(d,axis=1))'''[[1 4 4] [1 4 4]]'''print(np.count_nonzero(d,axis=(0,1))) #[2 8 8]print(np.count_nonzero(d,axis=(0,1,2))) #18
参考文献
转载地址:http://lnfwz.baihongyu.com/