【发布时间】:2016-05-24 19:40:31
【问题描述】:
我有一个交叉表格式的表格,示例如下:
State Item # x1 x2 x3 y1 y2 y3 z1 z2 z3
CA 1 6 4 3 7 5 3 11 5 1
CA 2 7 3 1 15 10 5 4 2 1
FL 3 3 2 1 5 3 2 13 7 2
FL 4 9 4 2 16 14 12 14 5 4
我正在尝试使用 melt 功能将数据按以下格式放置:
State Item # x xvalue y yvalue z zvalue
CA 1 x1 6 y1 7 z1 11
CA 1 x2 4 y2 5 z2 5
CA 1 x3 3 y3 3 z3 1
CA 2 x1 7 y1 15 z1 4
CA 2 x2 3 y2 10 z2 2
CA 2 x3 1 y3 5 z3 1
我知道如何使用 melt 函数仅对其中一个值执行此操作,例如 x。但我也不知道如何处理 y 和 z 。请参阅下面的代码以仅针对 x 执行此操作。有没有办法我可以调整它来为 y 和 z 做呢?或者我应该尝试为 x、y 和 z 设置单独的熔化函数,然后以某种方式将它们组合起来?
df_m = pd.melt(df, id_vars=['State', 'Item #'],
value_vars=['x1','x2','x3'],
var_name='x', value_name='xvalue')
【问题讨论】:
-
我认为您可能需要进行多次熔化。