我想要获取列的值的排序,并将其作为一个新列a_order
添加到数据中。
例如,对于列a
,数值的顺序为0.5 < 2.5 < 3.6
。
因此,在新建的列a_order
中0.5
对应0
,2.5
对应1
,3.6
对应2
。
输入:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':[0.5, 3.6, 2.5]})
输出:
a
0 0.5
1 3.6
2 2.5
期望结果:
a a_order
0 0.5 0
1 3.6 2
2 2.5 1
method = 'first'
,它将处理排名中的重复项。请检查一下。 - Space Impactargsort
返回已排序值的索引,所以在这里无法使用 :( - jezraeldf['a'].rank(method='first').sub(1).astype(int)
,因为参数method='first'
已经处理了这个问题。 - Space Impactargsort
,而你说的是method='first'
。 - jezrael