我想添加一个新列以保存排序顺序,该顺序由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]})
最佳答案
尝试使用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