如何使用具有相同值的Python rank();计数?
我正在处理python中的数据帧 这是我想做的如何使用具有相同值的Python rank();计数?,python,pandas,rank,Python,Pandas,Rank,我正在处理python中的数据帧 这是我想做的 1. same value gets same rank 2. the next rank should be added as much as the same rank counts 这是我的本意 价格等级 53001 53001 53001 5200 4
1. same value gets same rank
2. the next rank should be added as much as the same rank counts
这是我的本意
- 价格等级
- 53001
- 53001
- 53001
- 5200 4<先前排名:1+5300的计数:3
- 5200 4<相同值,相同等级
- 5100 6<先前排名:4+5200的计数:2
提前谢谢。您需要使用
方法class='min'
和升序=False
:
df = pd.DataFrame({'x':[5300,5300,5300,5200,5200, 5100]})
df['r'] = df['x'].rank(method='min', ascending=False)
从
方法:{'average','min','max','first','dense'}
average: average rank of group
min: lowest rank in group
max: highest rank in group
first: ranks assigned in order they appear in the array
dense: like ‘min’, but rank always increases by 1 between groups
请注意,
density
在组内特别增加排名1。您需要min
选项。您能给出输入和预期输出的示例吗?我在一分钟前插入了一幅图像。谢谢,欢迎光临。如果你问抽象的问题,你将得不到答案。把你的问题尖锐化。使用你所拥有的并展示你的预期结果。@john问题正文中的文本示例比图片链接更受欢迎。“我一分钟前插入了一幅图片”。你不应该发布,因为人们不能用它来复制任何东西。谢谢你的时间。它工作得很好。为什么我不考虑“min”选项?祝你有美好的一天!