1
说我有一个具有相同值的两个行的数据帧:大熊猫:按字母顺序排序,如果行有相同等级
testdf = pd.DataFrame({'a': ['alpha','beta','theta','delta','epsilon'],'b':[1,2,3,3,4]})
a b
0 alpha 1
1 beta 2
2 theta 3
3 delta 3
4 epsilon 4
现在我想根据B列对它们进行排序:
testdf['rank'] = testdf['b'].rank(ascending=False)
a b rank
0 alpha 1 5.0
1 beta 2 4.0
2 theta 3 2.5
3 delta 3 2.5
4 epsilon 4 1.0
由于行2和3具有相同的排名,我想他们按字母顺序排列为观众安排:
a b rank
0 alpha 1 5.0
1 beta 2 4.0
3 delta 3 2.5
2 theta 3 2.5
4 epsilon 4 1.0
但我不是确定如何做到这一点。也许我可以按等级对他们进行分组并排序......?不过,我不确定如何在原地进行。
谢谢!我不知道一次排除多个值的功能!我会尽快接受你的回答:) – ale19