Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用具有相同值的Python rank();计数?_Python_Pandas_Rank - Fatal编程技术网

如何使用具有相同值的Python rank();计数?

如何使用具有相同值的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

我正在处理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+5300的计数:3
  • 5200 4<相同值,相同等级
  • 5100 6<先前排名:4+5200的计数:2
首先,我尝试使用rank(method=“dense”)函数。但它并没有像我预期的那样起作用

df_销售[“排名”]=df_销售[“价格”]。排名(升序=假,方法=“密集”)


提前谢谢。

您需要使用
方法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”选项?祝你有美好的一天!