我希望透视一个数据框,但保留两列作为标识符(数据框的每一行将为每个标识符具有唯一的值)。我不知道如何通过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
答案 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