数组中每个非零元素的返回索引

问题描述:

我知道有一种方法可以返回python中数组中最大元素的索引:numpy.argmax()。有没有办法返回每个非零元素的索引?数组中每个非零元素的返回索引

例如

array([[ 0., 1., 1., ..., 1., 0., 0.], 
     [ 0., 1., 1., ..., 1., 0., 1.], 
     [ 0., 1., 1., ..., 1., 0., 0.], 
     ..., 
     [ 0., 1., 1., ..., 1., 0., 0.], 
     [ 0., 1., 1., ..., 1., 0., 0.], 
     [ 0., 1., 1., ..., 1., 0., 0.]], dtype=float32) 

[[1, 2, ...,6], 
[1,2,...6,8], 
... 
... 
] 

你想是这样的:

x = np.asarray([0, 1, 2, 3, 0, 1]) 
In [129]: np.nonzero(x) 
Out[129]: (array([1, 2, 3, 5]),) 

见:[1][2][3]

+0

是的。我不相信为什么我没有从谷歌得到正确的答案。 –