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

基于球队配对对齐表格行:Python/谷歌表格解决方案求助

需求说明

我有四列分为两组配对:

  • 第一组:Home Team、Away Team
  • 第二组:HomeTeam、AwayTeam

要求将两组配对中球队完全匹配的行对齐到同一行,移动第二组配对列数据时,其关联列(HTHG、First Half Score、HTAG、Home Shot)需同步移动。例如第4行第一组是(Tottenham, Southampton),第二组该配对在第7行,需将第7行的第二组及关联列数据移至第4行。

现寻求Python(Jupyter Notebook)或谷歌表格的实现方案,以下是我尝试过的代码:

尝试代码1

pair_mapping = {(row['HomeTeam'], row['AwayTeam']): idx for idx, row in season_2023_2024.iterrows()}

for idx, row in season_2023_2024.iterrows():
    home_team = row['Home Team']
    away_team = row['Away Team']
    matching_idx = pair_mapping.get((home_team, away_team), None)
    
    # 找到匹配行且非当前行时,交换第二组相关列数据
    if matching_idx is not None and matching_idx != idx:
        season_2023_2024.loc[matching_idx, ['HomeTeam', 'AwayTeam', 'HTHG', 'First Half Score', 'HTAG', 'Home Shot']], \
        season_2023_2024.loc[idx, ['HomeTeam', 'AwayTeam', 'HTHG', 'First Half Score', 'HTAG', 'Home Shot']] = \
        season_2023_2024.loc[idx, ['HomeTeam', 'AwayTeam', 'HTHG', 'First Half Score', 'HTAG', 'Home Shot']], \
        season_2023_2024.loc[matching_idx, ['HomeTeam', 'AwayTeam', 'HTHG', 'First Half Score', 'HTAG', 'Home Shot']]

display(HTML(season_2023_2024.to_html(index=False)))

尝试代码2

lookup_table = {}
for i, row in season_2023_2024.iterrows():
    lookup_table[(row['Home_Team'], row['Away_Team'])] = row[['HomeTeam', 'AwayTeam', 'HTHG', 'First_Half_Score', 'HTAG', 'Home_Shot']]

for i, row in season_2023_2024.iterrows():
    key = (row['Home_Team'], row['Away_Team'])
    if key in lookup_table:
        for col in ['HomeTeam', 'AwayTeam', 'HTHG', 'First_Half_Score', 'HTAG', 'Home_Shot']:
            season_2023_2024.at[i, col] = lookup_table[key][col]

内容的提问来源于stack exchange,提问作者Nitin Gaur

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 01:04:54