我正在尝试按另一个按特定顺序排序的系列对DataFrame(axis = 0)进行排序。
实施例: DataFrame包含CountryCodes的索引:'AUS','BWA'....(按字母顺序排序) 系列包含CountryCodes列表及其相关GDP(按GDP排序)
我可以使用DataFrame.join(系列)没有问题,然后对“GDP”列进行排序,然后对del DF ['GDP']进行排序,但有没有一种方法可以直接执行此操作而无需加入结构?
答案 0 :(得分:4)
您可以通过(已排序)系列的索引reindex
:
In [1]: df = pd.DataFrame([[1, 2], [3, 4]], index=list('ab'))
In [2]: s = pd.Series([2,1], index=list('ab'))
In [3]: s
Out[3]:
a 2
b 1
In [4]: s.sort()
In [5]: df.reindex(s.index)
Out[5]:
0 1
b 3 4
a 1 2