我有一个数据框,想为组中的每一行分配一个等级。例如,
A,B,C,D,E
---------
1,2,5,3,5
2,4,5,4,3
1,2,3,4,5
2,4,4,5,6
3,5,6,7,7
因此,我想按列A
和B
分组,然后根据列C
的值分配排名,但我想保留{{1 }}和D
。如果进行分组,则必须删除E
和D
。最简单的方法是什么?
答案 0 :(得分:1)
我将执行以下操作:
df['rank'] = df.groupby(['A', 'B'])['C'].transform(lambda x: x.rank())