我想在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
关于python - 如何在 Dataframe 中保存排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44340907/