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

时间:2016-02-27 03:22:38

标签: python arrays numpy

我知道有一种方法可以在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],
...
...
]

1 个答案:

答案 0 :(得分:2)

你想要这样的东西:

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

请参阅:[1][2][3]