python – Pandas:使用pd.Series对带有索引的pd.DataFrame进行排序

我试图按另一个按特定顺序排序的系列对DataFrame(axis = 0)进行排序.

例:
DataFrame包含CountryCodes的索引:’AUS’,’BWA’….(按字母顺序排序)
系列包含CountryCodes列表及其相关GDP(按GDP排序)

我可以使用DataFrame.join(系列)没问题,然后对列’GDP’进行排序,然后对del DF [‘GDP’]进行排序,但有没有一种方法可以直接执行此操作而无需加入结构?

最佳答案
你可以通过(排序)系列的索引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

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...