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

pandas melt dataframe according to time index

我尝试使用以下数据框 'melt'。

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

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

我尝试了以下方法,但没有用。

df2 = pd.melt(df, id_vars=df.index, var_name="Name", value_name="Value")

它说: KeyError:“DataFrame 中不存在以下 'id_vars':

PS:列是 'predictors' 所以 如果不太复杂 我很乐意在列名中添加 P 作为前缀,例如 P0 P1 P2 P3 P4 P5

我们可以只添加 reset_index

pd.melt(df.reset_index(), id_vars='index', var_name="Name", value_name="Value") 

或使用 stack

df.stack().reset_index()