如何提取pandas DataFrame中指定occupation对应的全部salary值并计算均值
实现方法
首先假设你的数据已经加载为pandas的DataFrame,命名为df。
方法1:计算单个指定职业的平均薪资
比如你要计算engineer(工程师)的平均薪资,直接按条件筛选后调用均值方法即可:
# 替换引号内的职业名称即可查询对应职业的平均薪资 target_occ = 'engineer' avg_salary = df[df['occ'] == target_occ]['salary'].mean() print(avg_salary)
样例输出:70000.0
方法2:一次性计算所有职业的平均薪资
如果需要批量得到所有职业的薪资均值,使用groupby分组聚合即可:
occ_avg_salary = df.groupby('occ')['salary'].mean() print(occ_avg_salary)
样例输出:
occ doctor 68333.333333 engineer 70000.000000 Name: salary, dtype: float64
补充说明
mean()方法默认会自动忽略薪资列的空值,无需额外处理- 如果你需要保留空值参与计算,可以给
mean()传入参数skipna=False
内容的提问来源于stack exchange,提问作者Dan Hagen
相关产品推荐
相关产品推荐

