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

如何获取DataFrame中特定年龄对应的收入平均值?

提取分组聚合后特定年龄的收入平均值

首先纠正个小细节:df.groupby('age')['income'].mean()实际返回的是Series(单列聚合结果),而非DataFrame;如果要得到DataFrame,可以追加.to_frame()转换。下面是几种提取特定年龄平均值的实用方法:

  • 方法1:利用Series索引直接取值(最便捷)
    先把聚合结果存为变量,再通过loc按年龄索引直接提取:

    grouped_mean = df.groupby('age')['income'].mean()
    # 提取30岁对应的收入平均值
    target_mean = grouped_mean.loc[30]
    
  • 方法2:转成DataFrame后用布尔索引筛选
    若更习惯DataFrame的操作逻辑,先将聚合结果转为带列名的DataFrame,再通过条件筛选目标值:

    grouped_df = df.groupby('age')['income'].mean().reset_index(name='avg_income')
    # 提取30岁的收入平均值
    target_mean = grouped_df[grouped_df['age'] == 30]['avg_income'].iloc[0]
    
  • 方法3:直接筛选后计算(效率更高)
    如果只需要单个年龄的平均值,没必要先聚合所有年龄,直接筛选目标年龄的数据再计算均值,性能更优:

    # 直接计算30岁的收入平均值
    target_mean = df[df['age'] == 30]['income'].mean()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 17:04:51