即使对于蟒蛇

问题描述:

相同的值,我希望获得独特的百分即使是相同的值在Python即使对于蟒蛇

例如独特的百分位,下面的情况是给输出符合市场预期。

案例1

import pandas as pd 
s1 = pd.Series([1,2,3,4]) 
s1.rank(pct=True) 

案例1个输出 - [0.25, 0.5, 0.75, 1]

我希望输出是同即使输入系列[2, 2, 2, 4]。但是,这里的输出是[0.5, 0.5, 0.5, 1]。我不介意任何一个输出。

[0.25, 0.5, 0.75, 1]  
[0.5, 0.25, 0.75, 1] 
[0.25, 0.75, 0.5, 1] 

请让我知道是否有办法做到这一点。

排名有一个参数method默认为'平均',它给你你看到的结果。让我们将其更改为'first'

s1 = pd.Series([2,2,2,4]) 
s1.rank(pct=True,method='first') 

输出:

0 0.25 
1 0.50 
2 0.75 
3 1.00 
dtype: float64 

没有简单的功能来做到这一点。虽然我明白你想要做什么,但这是而不是百分比分数。事实上,你在这里显示的是百分比排名,这是而不是与百分比相同。

为了获得您想要的功能,我相信您必须自己对这些值进行分组和计算。