You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas实现将对阵双方xG值映射至新列的方法

处理对阵记录DataFrame,补充双方xG值

可以通过将原DataFrame与它的"反向"版本合并,快速为每条记录匹配对手的xG值,具体步骤如下:

假设你的原始DataFrame名为df,结构如下:

team adversary    xG
0  Liverpool      City  1.80
1      City  Liverpool  1.21
  1. 先创建一个反向对阵的DataFrame,互换球队和对手的列,并重命名xG列用于区分:
reverse_df = df.rename(columns={
    'team': 'adversary',
    'adversary': 'team',
    'xG': 'xG_adversary'
})
  1. 将原DataFrame和反向DataFrame按team和adversary列合并,同时重命名原xG列为xG_team:
result_df = df.merge(reverse_df, on=['team', 'adversary'], how='left')
result_df = result_df.rename(columns={'xG': 'xG_team'})

处理后的result_df就会得到你需要的格式:

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

如果原数据中存在部分对阵没有反向记录的情况,how='left'会保留这些记录,对应的xG_adversary会显示为NaN,你可以根据实际需求将how参数改为inner,只保留有双向对阵记录的条目。

内容的提问来源于stack exchange,提问作者8-Bit Borges

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:45:51