pandas的rank()函数解析
一. 含义
rank函数返回原序列元素对应位置的序列,它跟sort不同的是相同的值会分配他们排名的平均值,可以理解为每个元素根据他们位置获得一个“分数”,如果两个元素值一样,他们的“分数”为占位值求平均,如例:
>>> obj = pd.Series([7,-5,7,4,2,0,4])
>>> 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,他们占据排名6和7的位置,分配值6.5;两个元素4占据第四和第五排名,分配值4.5。
二. rank函数参数pcb
>>> obj.rank(pct=True)
0 0.928571
1 0.142857
2 0.928571
3 0.642857
4 0.428571
5 0.285714
6 0.642857
dtype: float64
pct=True代表安装百分比的形式显示排名,百分比值计算方法是排名除以序列中最大值,比如第0个元素是6.5/7=0.928571