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

Pandas如何将groupby分组后的max结果填充到数据框新列中

解决方案

你可以直接使用Pandas的transform方法实现需求,该方法会将分组聚合的结果自动匹配填充到对应分组的所有行,仅需一行代码即可完成:

df['innings_score'] = df.groupby(['season', 'match_id', 'inning'])['sum_total_runs'].transform('max')

说明

  • transform方法会保留原数据集的行索引,无需额外做索引匹配或表关联操作,执行效率更高
  • 无论你是否已经提前初始化了默认值为0的innings_score列,以上代码都可以直接覆盖得到正确值

如果你已经提前计算出了分组聚合后的结果,也可以通过关联的方式实现:

# 假设预计算的分组结果存储在 inning_max 变量中
inning_max = df.groupby(['season', 'match_id', 'inning'])['sum_total_runs'].max().rename('innings_score')
# 删除原有空列后关联赋值
df = df.drop(columns=['innings_score']).merge(inning_max, on=['season', 'match_id', 'inning'], how='left')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 02:15:03