對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同理: