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

Pandas如何为原数据集每行添加对应年龄分组的平均工资

2000行规模数据集新增年龄平均工资列的最优实现方案
  • 若你已经完成分组统计生成了平均工资中间表,直接用merge左连接即可,2000行的规模下完全没有性能压力,代码如下:
# 先重命名分组统计得到的平均工资列,避免和原表字段冲突
mean_df = mean.rename(columns={'lnWage':'averagewage'})
# 按age字段关联,把对应年龄的平均工资匹配到原表每一行
df = df.merge(mean_df, on='age', how='left')
  • 若你还未生成中间表,更推荐用transform一步完成操作,省去单独生成中间表、合并的冗余步骤,写法更简洁:
df['averagewage'] = df.groupby('age')['lnWage'].transform('mean')

两种方案在2000行的小规模数据集下的耗时差异可以忽略不计,transform不需要维护额外的中间表,代码可读性更高,优先选择;如果必须使用你已经生成好的分组平均表,用merge左连接就完全可以满足需求。

示例测试效果和你给出的场景完全一致:30岁对应的两条工资数据10、20,最终生成的averagewage列两行值均为15。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 11:18:02