熊猫:将记录重塑为列

时间:2018-11-30 19:38:41

标签: python pandas

我有一个熊猫数据框df

    column1 column2 column3
    -----------------------
     a0      0.25   x1
     a0      0.05   x3
     a0      0.70   x2
     a1      0.25   x3
     a1      0.70   x2
     a1      0.05   x1

尝试像下面这样重塑df

   column3   a0    a1
   ---------------------
    x1       0.25  0.05
    x2       0.7   0.70
    x3       0.05  0.25  

尝试:

df.set_index([df.groupby('column3').cumcount(), 'column3']).column2.unstack() 

1 个答案:

答案 0 :(得分:1)

使用-

df.pivot(values='column2', index='column3', columns='column1')

输出

column1 a0  a1
column3     
x1  0.25    0.05
x2  0.70    0.70
x3  0.05    0.25

使用rename_axis()重置索引-

df.pivot(values='column2', index='column3', columns='column1').rename_axis(None)

column1 a0  a1
x1  0.25    0.05
x2  0.70    0.70
x3  0.05    0.25