假设我有数组:
A = [3, 3, 2, 2, 4]
排序列表的索引(升序)将是:
[2, 3, 0, 1, 4]
我想要反向排序列表(降序):
[4, 0, 1, 2, 3]
请注意,反向排序列表并不是排序列表的直接反向。
我会使用 numpy;但是,如果我这样做:
indices = np.argsort(A)[::-1]
# This gives: indices = [4, 1, 0, 3, 2]
# But I want: indices = [4, 0, 1, 2, 3]
那么,如何获得我想要的反向排序列表的索引呢?或者有什么方法可以用 numpy 来做到这一点吗?
谢谢!
最佳答案
您可以在此处np.argsort(..)
负数数组,例如:
>>> np.argsort(-np.array([3, 3, 2, 2, 4]), kind=<b>'mergesort'</b>)
array([4, 0, 1, 2, 3])
或自 numpy-1.15 ,您可以使用:
>>> np.argsort(-np.array([3, 3, 2, 2, 4]), kind=<b>'stable'</b>)
array([4, 0, 1, 2, 3])
关于python - 如何获取反向排序列表的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57663223/