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