pandas 密集排名 [英] Pandas DENSE RANK

查看:35
本文介绍了 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.rankmethod='dense'

df['Rank'] = df.Year.rank(method='dense').astype(int)

df

这篇关于 pandas 密集排名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆