二维数组中数组的Numpy-get索引

2024-09-24 02:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑下面的NUMPY数组:

import numpy as np
arr = np.array([np.random.permutation(4) for _ in range(4)])

array([[0, 1, 2, 3],
       [3, 1, 0, 2],
       [1, 2, 0, 3],
       [0, 2, 3, 1]])

我希望能够从数组中得到np.arange(4)的索引。 i、 e在第0行中获取索引0,在第1行中获取索引1,依此类推

也就是说,对于这个具体的例子:

array([0, 1, 1, 2])

在numpy中,有没有比在每行上循环并获取索引更有效的方法:

alist = []
for ridx in range(arr.shape[0]):
    alist.append(arr[ridx].tolist().index(ridx))
ans = np.array(alist)

Tags: inimportnumpyforasnprangerandom