如何在Python中获取原始列表的排序列表的索引?

numpy的argsort函数返回排序列表的原始索引.

现在我想要原始列表的排序列表的索引.在那儿

一个功能或优雅的方式来做到这一点?

例如:

>>> import numpy as np
>>> a = np.array([2, 8 , 5, 6])
>>> np.argsort(a)
array([0, 2, 3, 1])
>>> function(a)
array([0, 3, 1, 2])

最佳答案 你总是可以两次调用argsort:

>>> a.argsort().argsort()
array([0, 3, 1, 2])

据我所知,NumPy中没有“双argsort”功能,但将argsort两次应用于数组是计算值排名的常用方法(参见here).

点赞