将列转换为pandas数据框中的表格标题

时间:2018-08-09 13:17:18

标签: python pandas

我有这个数据框:

identifier_1         measure         Value     identifier_2
 abc                 height         12         oii
 abc                 weight         122         oii
 abc                 eye_color       green      Oii
cde                  height         43          lkj
cde                  weight         123         lkj
cde                  eye_color         blue     lkj
fgh                   height         32         mnb
fgh                  weight         125         mnb
fgh                eye_color         black      mnb

我想将“度量”列转换为表格标题,并将列值中的相应单元格转换为其值,例如:

identifier_1    height  weight  eye_color   identifier_2
abc             12      122      green       oii
cde             43      123     blue         lkj
fgh             32      125      black      mnb

我在pandas中尝试了数据透视功能,但无法达到要求的结果。

1 个答案:

答案 0 :(得分:1)

set_indexunstack一起使用:

df1 = (df.set_index(['identifier_1','identifier_2','measure'])['Value']
         .unstack()
         .reset_index()
         .rename_axis(None, axis=1))
print (df1)
  identifier_1 identifier_2 eye_color height weight
0          abc          oii     green     12    122
1          cde          lkj      blue     43    123
2          fgh          mnb     black     32    125