举个栗子说明一下nonzero()函数的用法:
首先构建一个简单的矩阵:
from numpy import *
a = mat([[1,1,0],[1,1,0],[1,0,3]])
print(a)
输出结果如下图:
print(a.nonzero())
(array([0, 0, 1, 1, 2, 2]), array([0, 1, 0, 1, 0, 2]))
第一个array表示非零元素所在的行,第二个array表示非零元素所在的列,分别取对应位置的值组成非零元素的坐标
print(len(a.nonzero()[0])) # 非零元素的个数
print(a[a.nonzero()]) # 非零元素的值
6
[[1 1 1 1 1 3]]