大熊猫旋转数据框,但保留冗余列

时间:2020-02-12 12:13:16

标签: python pandas pivot

我希望透视一个数据框,但保留两列作为标识符(数据框的每一行将为每个标识符具有唯一的值)。我不知道如何通过pd.pivot函数执行此操作 原始数据框为:

  name  code colour  price
0   B1   200    red     54
1   B2   201   blue     33
2   B3   202  green     45

我想看

 name code red blue green  
 B1   200  54
 B2   201      33
 B3   202           45

1 个答案:

答案 0 :(得分:0)

您如何使用双索引?

df = pd.pivot_table(df,values='price',index=['name','code'],columns='colour')
print(df)

输出:

colour     blue  green   red
name code                   
B1   200    NaN    NaN  54.0
B2   201   33.0    NaN   NaN
B3   202    NaN   45.0   NaN

如果您希望将这些值作为列,则可以简单地reset_index()

colour name  code  blue  green   red
0        B1   200   NaN    NaN  54.0
1        B2   201  33.0    NaN   NaN
2        B3   202   NaN   45.0   NaN