我想添加一个新列来保存排序顺序,该顺序按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]})
答案 0 :(得分:0)
尝试rank和method='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