假设我有一个数据帧,其中有两行具有相同的值:
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
但我不知道怎么做。也许我可以把它们按等级分组然后排序。。。?不过,我不知道该怎么做。你知道吗
可以使用^{} 按多个列排序,您需要的是先按
rank
排序,然后按a
列排序,如果您希望它发生在原地,我们使用inplace=True
如下:如果不使用
inplace=True
,则操作将返回结果数据帧。你知道吗相关问题 更多 >
编程相关推荐