更改pandas从列到列的多索引

时间:2018-03-20 22:22:09

标签: python pandas pandas-groupby

目前有一个由groupby()生成的数据帧,形式如下:

                 #         avg      total  unique
year month                                       
2014 1       241.0   64.668050   15585.00   237.0
     2       358.0   65.197877   23340.84   347.0
     3       347.0   60.336715   20936.84   340.0
     4       179.0   61.071788   10931.85   172.0
2015 1        57.0   54.562982    3110.09    56.0
     2       140.0   76.007143   10641.00   138.0
     3        85.0   79.929412    6794.00    80.0
     4        89.0   70.000000    6230.00    87.0

我想将其转换为以下形状:

        2014                                  2015
        #       avg         total      unique     #         avg      total  unique
month 
1       241.0   64.668050   15585.00   237.0   57.0   54.562982    3110.09    56.0
2       358.0   65.197877   23340.84   347.0  140.0   76.007143   10641.00   138.0
3       347.0   60.336715   20936.84   340.0   85.0   79.929412    6794.00    80.0
4       179.0   61.071788   10931.85   172.0   89.0   70.000000    6230.00    87.0

我尝试过各种各样的pivot,pivot_table,unstack,reorder_levels等排列,但没有人能让我使用正确的格式。

我怀疑我错过了一个非常简单的答案:)

1 个答案:

答案 0 :(得分:2)

df.unstack(0).swaplevel(0, 1, 1).sort_index(1)