2017-06-16 79 views
0

相同的值,我希望獲得獨特的百分即使是相同的值在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] 

請讓我知道是否有辦法做到這一點。

回答

3

排名有一個參數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 
0

沒有簡單的功能來做到這一點。雖然我明白你想要做什麼,但這是而不是百分比分數。事實上,你在這裏顯示的是百分比排名,這是而不是與百分比相同。

爲了獲得您想要的功能,我相信您必須自己對這些值進行分組和計算。