在datafram中将列转换为表头

2024-10-01 07:34:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个数据帧:

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

我想将“measure”列转换为一个表头,并将列value中对应的单元格转换为它的值,如下所示:

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

我在pandas中尝试了pivot函数,但没有达到所需的结果。你知道吗


Tags: greenbluecolorblackeyeabcmeasureheight
1条回答
网友
1楼 · 发布于 2024-10-01 07:34:47

^{}^{}一起使用:

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

相关问题 更多 >