2017-06-03 281 views
0

我想在Dataframe中添加一个新列以保存按列之一排序的排序顺序。例如,我想按列'B'(升序)排序并添加一个新列'C'以保存排序顺序。这意味着我希望得到一个column'C”,这是[4,3,1,2,4,2]如何在Dataframe中保存排序顺序?

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

排序顺序并不需要保存 – e4c5

回答

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