Pandas -将值从一个列映射到一个新列



我有一个包含所有个人团队比赛的数据框,其中一些比赛是重复的,像这样:

team        adversary     xG
Liverpool   City          1.80
...
City        Liverpool     1.21
...

我如何跟踪所有团队对手对的xG值,最终得到:

team        adversary     xG_team    xG_adversary
Liverpool   City          1.80       1.21
...
City        Liverpool     1.21       1.80
...

您可以进行自合并。我认为最直接的方法是在右边的df:

上加上set_index
df.merge(
df.set_index(['adversary', 'team']),
left_on=['team', 'adversary'],
right_index=True,
suffixes=('_team', '_adversary'),
how='left')

结果:

team  adversary  xG_team  xG_adversary
0  Liverpool       City     1.80          1.21
1       City  Liverpool     1.21          1.80

相关内容

  • 没有找到相关文章

最新更新