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

Pandas按聚合函数分组:如何获取平均薪资最高的职业

解决方法

你可以通过以下几种方式获取最高平均薪资对应的职业名称:

方法一:使用idxmax()直接获取

先计算各职业平均薪资,然后用idxmax()拿到对应职业名称,max()拿到薪资数值:

# 计算各职业平均薪资,得到Series(Occupation为索引,Salary均值为值)
occupation_salary_mean = df.groupby('Occupation')['Salary'].mean()

# 获取最高平均薪资的职业名称
top_occupation = occupation_salary_mean.idxmax()
# 获取对应的最高平均薪资数值
max_avg_salary = occupation_salary_mean.max()

print(f"平均薪资最高的职业:{top_occupation},薪资:{max_avg_salary}")

方法二:排序后取首行

对计算出的平均薪资降序排序,取第一行即可同时拿到职业和薪资:

# 计算并排序,取第一行
top_occupation_info = df.groupby('Occupation')['Salary'].mean().sort_values(ascending=False).head(1)

# 提取职业名称和薪资
top_occupation = top_occupation_info.index[0]
max_avg_salary = top_occupation_info.values[0]

print(f"平均薪资最高的职业:{top_occupation},薪资:{max_avg_salary}")

补充说明

你之前的代码执行后,Occupation会变成结果的索引而非普通列,所以只看数值时看不到对应的职业名称。上面的两种方法都是通过操作索引或排序来关联数值和职业名称。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:17:04