目前,我有一个以下格式的数据框:
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似乎没有解决此特定格式的请求
答案 0 :(得分:1)
使用上次旋转的df
中的swaplevel
和sort_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