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

如何更简洁地统计Pandas DataFrame中两队的交手次数与胜负情况?

更简洁的MI与CSK交手数据统计方案

你可以通过统一对阵组合的方式简化代码,不用写冗长的条件判断或者重复分组操作:

步骤1:生成统一的对阵组合列

把每场比赛的两支球队按固定规则(比如字母顺序)排序后组合成元组,这样不管Team1和Team2谁在前,MI和CSK的对阵都会被归为同一个组合:

ipl['H2H_Pair'] = ipl.apply(lambda row: tuple(sorted([row['Team1'], row['Team2']])), axis=1)

步骤2:筛选目标对阵并统计数据

直接筛选出MI和CSK的对阵记录,一次性统计总场次和各自胜场:

# 定义目标对阵组合(提前排序确保统一)
mi_csk_pair = tuple(sorted(['Mumbai Indians', 'Chennai Super Kings']))
# 筛选所有MI vs CSK的比赛
mi_csk_matches = ipl[ipl['H2H_Pair'] == mi_csk_pair]

# 总交手次数
total_matches = len(mi_csk_matches)
# 两队获胜场次统计
win_stats = mi_csk_matches['WinningTeam'].value_counts()

print(f"总交手次数: {total_matches}")
print("获胜场次:")
print(win_stats)

方案优势

  • 避免了原方法中复杂的多条件判断,代码更简洁易读
  • 不用重复执行分组操作,逻辑更统一
  • 可以直接复用这套逻辑统计任意两支球队的交手数据,扩展性更强

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 02:44:59