使用多个索引重塑熊猫数据框

时间:2020-11-12 21:56:13

标签: pandas dataframe pivot reshape transpose

我需要调整数据框的形状,使其宽而不是长,将每个日期显示为列标题,并为状态和变量名显示两个索引。我尝试使用transpose(),melt(),stack(),unstack(),pivot()和set_index()失败。请指教!

我最接近解决方案的是forecasts.set_index(['State', 'Revenue', 'YoY_Change])forecasts.set_index(['Date']).T来转置日期列,但都不是正确的解决方案。

我的数据如下:

enter image description here

我需要它看起来像这样:

enter image description here

1 个答案:

答案 0 :(得分:1)

这是melt,后跟pivot

(df.melt(['State','Date'])
   .pivot_table(index=['State', 'variable'], columns='Date', values='value', aggfunc='first')
)