对熊猫Pivot_table函数中的数据进行重新排序

星际男孩1

我有一个示例数据框

headquarter      sales    base    %growth    month_year
 Los Angeles     1000     2000      30        202101
 Florida City    2000     2000      20        202101
 Los Angeles     5000     6000      70        202001
 Florida City    4000     4500      45        202001

我正在尝试使用透视数据

data = data.pivot_table(columns=['month_year'], values=['sales', 'base', '%growth'], index=['headquarter'])

print(data)

>                     %growth          base           sales
                  202001  202101  202001 202101   202001 202101
    headquarter
    Los Angeles      70    30     6000   2000       5000    1000
    Florida City     45    20     4000   2000       4500    2000

这些值与上面片段中提到的顺序不符。

我如何将数据重构为

>                        202001                 202101
                   Sales  base  %growth    Sales  base  %growth     
     headquarter
     Los Angeles   5000   6000    70       1000   2000     30
     Florida City  4500   4000    45       2000   2000     20
耶斯列尔

DataFrame.swaplevel搭配使用DataFrame.reindex

mux = pd.MultiIndex.from_product([data['month_year'].unique(), ['Sales','base','%growth']])
data = data.pivot_table(columns=['month_year'], 
                        values=['Sales', 'base', '%growth'], 
                        index=['headquarter']).swaplevel(1, 0, axis=1).reindex(mux, axis=1)

print(data)
             202101               202001              
              Sales  base %growth  Sales  base %growth
headquarter                                           
Florida City   2000  2000      20   4000  4500      45
Los Angeles    1000  2000      30   5000  6000      70

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章