官网的文档解释如下:
官方解释:rank通过将平均排名分配到每个组来打破平级关系。
我感觉比较晦涩难懂,感觉说的不是人话,为此我对此深究,结果如下:
例子:
代码:
obj = pd.Series([7, -5, 7, 4, 2, 0, 4])
print(obj.rank())
运行结果:
0 6.5
1 1.0
2 6.5
3 4.5
4 3.0
5 2.0
6 4.5
dtype: float64
分析:
首先将这个列表中的数字进行排序
原始序列 | 7 | -5 | 7 | 4 | 2 | 0 | 4 |
排序后的序列 | -5 | 0 | 2 | 4 | 4 | 7 | 7 |
排序后的序列序号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
相同数字的排序序号的平均值 | 1 | 2 | 3 | (4+5)/2=4.5 | (4+5)/2=4.5 | (6+7)/2=6.5 | (6+7)/2=6.5 |
所以排序后的排名序号的平均值的序列为:1,2, 3, 4.5, 4.5, 6.5,6.5,再根据原始序列对应的位置,即可得到运行结果。