今天遇到一个需求,就是根据PM25对区县进行排序,但是值相同的排名要一样,所以需要pandas的rank函数,
import pandas as pd
a=[['a',1],['b',2],['c',2],['d',2],['e',4],['f',5],['g',6],['h',7],['i',8],['k',9]]
b=pd.DataFrame(a,columns=['region','value'])
print(b["value"].rank(ascending =False,method='min'))
print("==============================")
print(b["value"].rank(ascending =False,method='max'))
打印内容
0 10.0
1 7.0
2 7.0
3 7.0
4 6.0
5 5.0
6 4.0
7 3.0
8 2.0
9 1.0
Name: value, dtype: float64
==============================
0 10.0
1 9.0
2 9.0
3 9.0
4 6.0
5 5.0
6 4.0
7 3.0
8 2.0
9 1.0
Name: value, dtype: float64
方法中的min,max的意思是假如这几个值相同,则按照这个值的最大排名或者最小排名进行排序
网友评论