终于弄明白了Python 中nonzero()函数

终于弄明白了Python中nonzero()函数

在机器学习过程中,想必小伙伴们经常碰到nonzero()函数,估计也会被这玩意儿弄的一头雾水。
我就是,哈哈!!!经过反复试验和验证今天终于把它搞明白了,现在分享如下:
  • nonzero(a)函数一般返回两行array()。如果mat()一下,就是个2*N 的矩阵
  • N 表示的是矩阵a中不为0的元素个数

例如

from numpy import *
b = array([[1,1,1,0,1,1],[1,1,1,0,1,0],[1,1,1,0,1,1]])
print mat(b)
c = nonzero(b)
print  mat(c)
 [[1 1 1 0 1 1]
 [1 1 1 0 1 0]
 [1 1 1 0 1 1]]
nonzero(b) 输出的结果:
[[0 0 0 0 0 1 1 1 1 2 2 2 2 2]
 [0 1 2 4 5 0 1 2 4 0 1 2 4 5]]

解释一下:矩阵 b中,b[0,0] b[0,1],b[0,2],b[0,4],b[0,5],b[1,0],b[1,1],b[1,2],b[1,4],b[2,0],b[2,1],b[2,2],b[2,4],b[2,5]元素的值非零

各位机器学习的ML友,你get到了吗? author:潜川客

猜你喜欢

转载自blog.csdn.net/u010315668/article/details/80204973