举例说明:
--------
>>> x = np.eye(3)
>>> x
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
>>> np.nonzero(x)
(array([0, 1, 2]), array([0, 1, 2]))
返回的是一个2维元组,表示矩阵中非零元素的下标,其中第一维表示的是矩阵中非零元素的行下标,第二维是非零元素的列下标。
即非零元素下标为:
[0,0]
[1,1]
[2,2]
扩展部分:
如果想直接得到矩阵中非零元素的下标,进行如下操作
>>> np.transpose(np.nonzero(x))
array([[0, 0],
[1, 1],
[2, 2]])
如果想要直接获得矩阵中的非零元素值,可进行如下操作:
>>> x[np.nonzero(x)]
array([ 1., 1., 1.])