我想要实现的是对值列表的“最高到最低”排名,基本上是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/