如何重新排序 Pandas 中的多索引列?
Posted
技术标签:
【中文标题】如何重新排序 Pandas 中的多索引列?【英文标题】:How to reorder multi-index columns in Pandas? 【发布时间】:2019-03-26 20:36:32 【问题描述】:df=pd.DataFrame('Country':["AU","GB","KR","US","GB","US","KR","AU","US"],'Region Manager':['TL','JS','HN','AL','JS','AL','HN','TL','AL'],'Curr_Sales': [453,562,236,636,893,542,125,561,371],'Curr_Revenue':[4530,7668,5975,3568,2349,6776,3046,1111,4852],'Prior_Sales': [235,789,132,220,569,521,131,777,898],'Prior_Revenue':[1530,2668,3975,5668,6349,7776,8046,2111,9852])
pd.pivot_table(df, values=['Curr_Sales', 'Curr_Revenue','Prior_Sales','Prior_Revenue'],index=['Country', 'Region Manager'],aggfunc=np.sum,margins=True)
大家好,
我有以下数据框,我想将多索引列重新排序为
['Prior_Sales','Prior_Revenue','Curr_Sales', 'Curr_Revenue']
如何在 pandas 中做到这一点?
代码如上图
提前感谢所有帮助!
【问题讨论】:
【参考方案1】:切片生成的数据帧
pd.pivot_table(
df,
values=['Curr_Sales', 'Curr_Revenue', 'Prior_Sales', 'Prior_Revenue'],
index=['Country', 'Region Manager'],
aggfunc='sum',
margins=True
)[['Prior_Sales', 'Prior_Revenue', 'Curr_Sales', 'Curr_Revenue']]
Prior_Sales Prior_Revenue Curr_Sales Curr_Revenue
Country Region Manager
AU TL 1012 3641 1014 5641
GB JS 1358 9017 1455 10017
KR HN 263 12021 361 9021
US AL 1639 23296 1549 15196
All 4272 47975 4379 39875
【讨论】:
谢谢!这就是我想要的答案!!【参考方案2】:cols = ['Prior_Sales','Prior_Revenue','Curr_Sales', 'Curr_Revenue']
df = df[cols]
【讨论】:
这很简单。谢谢!以上是关于如何重新排序 Pandas 中的多索引列?的主要内容,如果未能解决你的问题,请参考以下文章