熊猫等级方法

时间:2016-11-20 20:46:24

标签: python pandas rank

我在Pandas中对浮动变量进行排名,我想强制排名是唯一的(在关系中没有重复的排名。)

这就是:

vals = pd.Series([0.0133, 0.0018, np.nan, 0.0006, 0.0006])
vals.rank(ascending=False, method='dense')

0    1.0
1    2.0
2    NaN
3    3.0
4    3.0

我希望结果是

0    1.0
1    2.0
2    NaN
3    3.0
4    4.0

我可以使用rank方法执行此操作,还是必须使用某些排序和循环逻辑手动执行此操作?

1 个答案:

答案 0 :(得分:7)

您可以使用first作为方法(请参阅Series.rank文档):

  

首先:按照它们出现在数组中的顺序分配

ser = pd.Series([1, 2, np.nan, 3, 3, 4])

ser.rank(method='first')
Out: 
0    1.0
1    2.0
2    NaN
3    3.0
4    4.0
5    5.0
dtype: float64