本文介绍了 pandas 密集排名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在处理 Pandas 数据框并且有一个这样的框架:
I'm dealing with pandas dataframe and have a frame like this:
Year Value
2012 10
2013 20
2013 25
2014 30
我想使 DENSE_RANK() over (order by year) 函数等效.像这样创建一个额外的列:
I want to make an equialent to DENSE_RANK () over (order by year) function. to make an additional column like this:
Year Value Rank
2012 10 1
2013 20 2
2013 25 2
2014 30 3
如何在 Pandas 中实现?
How can it be done in pandas?
谢谢!
推荐答案
使用 pd.Series.rank
和 method='dense'
df['Rank'] = df.Year.rank(method='dense').astype(int)
df
这篇关于 pandas 密集排名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!