我有以下数据框,我试图“融化”。
所以我的目标是获得 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
我们只需添加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)