有没有一种简单的方法可以根据两列的线性组合对DataFrame进行排序,而无需为该值创建新列?给定
df = pd.DataFrame([[4,1],[2,3]], columns=list('AB'))
A | B | |
---|---|---|
0 | 4 | <1>|
1 | 2 | 3 |
使用DataFrame.sort_index
乘以Series
和.get
:
df1 = df.sort_index(key=(df.A*df.B).get)
或Series.argsort
与DataFrame.iloc
:
df1 = df.iloc[(df.A*df.B).argsort()]