pandas 根据时间索引融化数据框

S12*_*000 5 melt pandas

我有以下数据框,我试图“融化”。

在此输入图像描述

所以我的目标是获得 2 列的输出

  • 栏目名称
  • 价值

所以我的输出应该看起来像[这只是输出的头部,为了简洁我没有完全显示它]

在此输入图像描述

我已经尝试过以下方法,但它不起作用。

df2 = pd.melt(df, id_vars=df.index, var_name="Name", value_name="Value")
Run Code Online (Sandbox Code Playgroud)

它说:KeyError:“以下‘id_vars’不存在于数据帧中:

PS:这些列是“预测变量”,所以如果不是太复杂,我很乐意在列名称中添加 P 作为前缀,例如 P0 P1 P2 P3 P4 P5

在此输入图像描述

WeN*_*Ben 6

我们只需添加reset_index

pd.melt(df.reset_index(), id_vars='index', var_name="Name", value_name="Value") 
Run Code Online (Sandbox Code Playgroud)

或者使用stack

df.stack().reset_index()
Run Code Online (Sandbox Code Playgroud)