Pandas的rank函數


對Series來說:通過為各組分配一個平均排名的方式來破壞平級關系

1 對Series來說

1.返回的是排名,把原數據升序(默認)后每個值所在的排名位置返回到原來所在的位置的索引所在的行.

有相同的數時,取其排名平均(默認)作為值.

In [42]: s2
Out[42]:
0    4
1   -3
2    5
3    2
4    0
5    4
dtype: int64
In [43]: s2.rank()
Out[43]:
0    4.5
1    1.0
2    6.0
3    3.0
4    2.0
5    4.5
dtype: float64

下面是理解過程

 

 2.rank參數為method='first'時,對於同樣的數,先出現的數值排名靠前,不再取其平均位置,按順序排名

In [44]: s2.rank(method='first')
Out[44]:
0    4
1    1
2    6
3    3
4    2
5    5
dtype: float64

3.參數為ascending=False降序排列

In [46]: s2.rank(ascending=False)
Out[46]:
0    2.5
1    6.0
2    1.0
3    4.0
4    5.0
5    2.5
dtype: float64

4.method='max'使用整個分組的最大排名

In [48]: s2.rank(ascending=False,method='max')
Out[48]:
0 3
1 6
2 1
3 4
4 5
5 3
dtype: float64

5.method='min'使用整個分組的最小排名

In [49]: s2.rank(ascending=False,method='min')
Out[49]:
0    2
1    6
2    1
3    4
4    5
5    2
dtype: float64

對DataFrame同理:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM