我想要实现的是对值列表的“最高到最低”排名,基本上是rankdata的反义

因此,而不是:

a = [1,2,3,4,3,2,3,4]
rankdata(a).astype(int)
array([1, 2, 5, 7, 5, 2, 5, 7])

我想得到这个:
array([7, 6, 3, 1, 3, 6, 3, 1])

我无法在rankdata文档中找到任何东西来做到这一点。

最佳答案

可能是您不想要的愚蠢答案,但是您是否不能只减去长度,即从高位到低位的“反向”?

a = [1,2,3,4,3,2,3,4]
len(a) - rankdata(a).astype(int)
array([7, 6, 3, 1, 3, 6, 3, 1])

关于python - Scipy RankData从高到低反转,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24251919/

10-10 17:52