简体   繁体   English

如何重新排序Pandas中的多索引列?

[英]How to reorder multi-index columns in Pandas?

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)

在此输入图像描述

Hi folks, 嗨伙计,

I have the following dataframe and I'd like to re-order the muti-index columns as 我有以下数据框,我想重新排序muti-index列

['Prior_Sales','Prior_Revenue','Curr_Sales', 'Curr_Revenue']

How can I do that in pandas? 我怎么能在熊猫中做到这一点?

The code is shown above 代码如上所示

Thanks in advance for all the help! 在此先感谢您的帮助!

Slice the resulting dataframe 切片结果数据帧

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
cols = ['Prior_Sales','Prior_Revenue','Curr_Sales', 'Curr_Revenue']

df = df[cols]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM