熊猫:DataFram的复杂转换

2024-04-24 05:32:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似的数据帧:

    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

在这里,单位和各种统计数据被转换成一个多级索引,玩家被转换成列。我怎样才能做到这一点


Tags: 数据玩家unit单位统计数据playerp2p1
1条回答
网友
1楼 · 发布于 2024-04-24 05:32:29

尝试:

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

相关问题 更多 >