我想添加一个新列以保存排序顺序,该顺序由Dataframe中的其中一列进行排序。例如,我想按列“ B”(升序)排序并添加新列“ C”以保存排序顺序。这意味着我想获取列“ C”,即[4,3,1,2,4,2]

df=pd.DataFrame({"A":[1,2,3,4,5,6],"B":[5,2,0,1,5,1]})

最佳答案

尝试使用rankmethod='dense',以便组之间的排名始终增加1:

import pandas as pd
df=pd.DataFrame({"A":[1,2,3,4,5,6],"B":[5,2,0,1,5,1]})
df['C']=df['B'].rank(method='dense')
df


输出:

    A   B   C
0   1   5   4
1   2   2   3
2   3   0   1
3   4   1   2
4   5   5   4
5   6   1   2

10-07 12:53
查看更多