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

如何根据DataFrame的area分组新增prod_a与prod_b的对应分组均值列

解决方案

你可以直接使用pandas的groupby+transform实现需求,该方法会保留原数据的索引,将分组计算结果直接匹配到对应行,无需额外拼接操作:

# 按area分组,直接在原df上新增两列存储分组均值
df[['mean prod_a for the area', 'mean prod_b for the area']] = df.groupby('area')[['prod_a', 'prod_b']].transform('mean')

如果更偏好显式拼接的逻辑,也可以先计算分组均值表再合并:

# 第一步:计算每个area对应的prod_a、prod_b均值
area_mean_df = df.groupby('area')[['prod_a', 'prod_b']].mean()\
                 .rename(columns={'prod_a': 'mean prod_a for the area', 'prod_b': 'mean prod_b for the area'})\
                 .reset_index()
# 第二步:将均值表合并回原表
df = df.merge(area_mean_df, on='area', how='left')

两种方法输出的结果和你给出的预期效果完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 03:39:03