假设我有一个包含过去三年的职称和薪水的数据集,我想要计算第一年到最后一年平均工资的差额。
使用Pandas,我会怎么做呢?我已经成功地创建了一个df,其中包含了每年的平均薪资,但我想我想要做的是:“对于数据科学家,用2020年的平均工资减去2022年的平均工资”,然后遍历所有做同样事情的job_titles。
work_year job_title salary_in_usd
0 2020 AI Scientist 45896.000000
1 2020 BI Data Analyst 98000.000000
2 2020 Big Data Engineer 97690.333333
3 2020 Business Data Analyst 117500.000000
4 2020 Computer Vision Engineer 60000.000000
.. ... ... ...
93 2022 Machine Learning Scientist 141766.666667
94 2022 NLP Engineer 37236.000000
95 2022 Principal Data Analyst 75000.000000
96 2022 Principal Data Scientist 162674.000000
97 2022 Research Scientist 105569.000000发布于 2022-09-20 21:38:36
创建一个函数,对每个组执行您想要的操作:
def first_to_last_year_diff(df):
diff = (
df[df.work_year == df.work_year.max()].salary_in_usd
- df[df.work_year == df.work_year.max()].salary_in_usd
)
return diff然后对职位进行分组,并应用您的功能:
df.groupby("job_title").apply(first_to_last_year_diff)https://stackoverflow.com/questions/73792386
复制相似问题