我有一个与此类似的Pandas DataFrame:
player unit stat1 stat2
0 p1 u1 10 8
1 p1 u2 21 2
3 p2 u1 2 7
4 p2 u2 32 34
玩家和单位的每种组合都存在一行。我想将此DataFrame转换为如下所示:
p1 p2
u1 stat1 10 2
stat2 8 7
u2 stat1 21 32
stat2 2 34
其中单位和各种统计数据转换为多级索引,而玩家则转换为列。我该如何实现?
答案 0 :(得分:1)
尝试:
df.pivot(index='unit', columns='player').stack(level=0)
或无枢轴:
df.set_index(['unit','player']).stack().unstack('player')
输出:
player p1 p2
unit
u1 stat1 10 2
stat2 8 7
u2 stat1 21 32
stat2 2 34