特定格式的数据框枢轴

时间:2019-10-04 14:14:29

标签: python pandas dataframe pivot

目前,我有一个以下格式的数据框:

ID  Value   Type    Month
1   0.1     B       Jan
2   0.2     A       Jan
1   0.15    A       Feb
2   0.1     B       Feb

我正在尝试使其按月显示每个列值,如下所示:

Month Jan            Feb
      Value   Type   Value   Type
ID     
1     0.1     B      0.15    A
2     0.2     A      0.1     B

我运行以下命令以透视数据

df.pivot(index='ID', columns='Month', values=['Type', 'Value'])

但是桌子却像这样

      Value        Type
      Jan   Feb    Jan   Feb
ID     
1     0.1   0.15   B     A
2     0.2   0.1    A     B

有没有办法让它像我想要的那样出来?一直没有找到像我想要的那样构造数据透视表的方法。 How to pivot a dataframe似乎没有解决此特定格式的请求

1 个答案:

答案 0 :(得分:1)

使用上次旋转的df中的swaplevelsort_index

df2.swaplevel(axis=1).sort_index(axis=1, ascending=[False, False])

Month   Jan        Feb     
      Value Type Value Type
ID                         
1       0.1    B  0.15    A
2       0.2    A   0.1    B