Python 熊猫:数据帧的复杂转换
我有一个与此类似的数据帧:Python 熊猫:数据帧的复杂转换,python,pandas,Python,Pandas,我有一个与此类似的数据帧: player unit stat1 stat2 0 p1 u1 10 8 1 p1 u2 21 2 3 p2 u1 2 7 4 p2 u2 32 34 玩家和单位的每种组合都有一行。我想将此数据帧转换为如下所示的数据帧: p1 p2 u1 stat1 10 2
player unit stat1 stat2
0 p1 u1 10 8
1 p1 u2 21 2
3 p2 u1 2 7
4 p2 u2 32 34
玩家和单位的每种组合都有一行。我想将此数据帧转换为如下所示的数据帧:
p1 p2
u1 stat1 10 2
stat2 8 7
u2 stat1 21 32
stat2 2 34
在这里,单位和各种统计数据被转换成一个多级索引,玩家被转换成列。我如何才能做到这一点?试试:
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
df.pivot\u table(index=['player',columns=['unit']).T.swaplevel(0,1,0).sort\u index()
df.melt(['player','unit']).pivot\u table('value',['unit','variable','player')