根据条件对 pandas 中的值进行排名
Ranking values in pandas based off a condition
我是 python 的新手。我有一个看起来像这样的数据框:
Points Year_Month
5000 March-2021
4000 March-2021
3500 March-2021
4500 February-2021
2000 February-2021
1500 February-2021
6000 January-2021
1200 January-2021
1000 January-2021
我想创建一个新列,根据 'Year_Month' 列对 'Points' 列进行排名。
所以我想要的输出看起来像下面这样:
Points Year_Month Rank
5000 March-2021 1
4000 March-2021 2
3500 March-2021 3
4500 February-2021 1
2000 February-2021 2
1500 February-2021 3
6000 January-2021 1
1200 January-2021 2
1000 January-2021 3
如有任何帮助,我们将不胜感激。谢谢
使用groupby
和rank
df['rank'] = df.groupby(['Year_Month'])['Points'].rank(method='first', ascending=False)
看文档看什么样的rank方法合适here。
我是 python 的新手。我有一个看起来像这样的数据框:
Points Year_Month
5000 March-2021
4000 March-2021
3500 March-2021
4500 February-2021
2000 February-2021
1500 February-2021
6000 January-2021
1200 January-2021
1000 January-2021
我想创建一个新列,根据 'Year_Month' 列对 'Points' 列进行排名。 所以我想要的输出看起来像下面这样:
Points Year_Month Rank
5000 March-2021 1
4000 March-2021 2
3500 March-2021 3
4500 February-2021 1
2000 February-2021 2
1500 February-2021 3
6000 January-2021 1
1200 January-2021 2
1000 January-2021 3
如有任何帮助,我们将不胜感激。谢谢
使用groupby
和rank
df['rank'] = df.groupby(['Year_Month'])['Points'].rank(method='first', ascending=False)
看文档看什么样的rank方法合适here。