问题描述
我需要调整数据框的形状,使其宽而不是长,将每个日期显示为列标题,并为状态和变量名显示两个索引。我尝试使用transpose(),melt(),stack(),unstack(),pivot()和set_index()失败。请指教!
我最接近解决方案的是forecasts.set_index(['State','Revenue','YoY_Change])
或forecasts.set_index(['Date']).T
来转置日期列,但都不是正确的解决方案。
我的数据如下:
我需要它看起来像这样:
解决方法
这是melt
,后跟pivot
:
(df.melt(['State','Date'])
.pivot_table(index=['State','variable'],columns='Date',values='value',aggfunc='first')
)