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

如何在Pandas分组后获取指定列的特定分组均值

获取单个部门的平均薪资解决方案

嘿,我来帮你搞定这个问题!你已经用groupby算出了所有部门的平均薪资,现在要单独提取sales部门的结果,这里有几种简单易懂的方法:

  • 方法一:直接对groupby结果索引
    你用groupby得到的是一个以部门名为索引的Series,所以直接通过索引就能拿到sales部门的均值,两种写法都可以:

    # 直接索引
    df.groupby("Dept")["Salaries"].mean()["sales"]
    
    # 用.loc更规范(推荐,避免隐式索引的问题)
    df.groupby("Dept")["Salaries"].mean().loc["sales"]
    

    执行后会直接返回25.0这个结果。

  • 方法二:先筛选部门再计算均值
    如果只需要sales部门的数据,其实可以先过滤出该部门的所有行,再直接计算平均,这样不用额外计算其他部门的均值,效率更高:

    df[df["Dept"] == "sales"]["Salaries"].mean()
    
  • 方法三:使用groupby的get_group方法
    先通过get_group获取sales部门的分组数据,再计算均值:

    df.groupby("Dept")["Salaries"].get_group("sales").mean()
    

如果只是单次获取单个部门的均值,方法二更高效;如果后续还要用到其他部门的统计结果,那方法一或三会更合适,因为已经完成了groupby操作,后续可以直接复用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:39:01