让我们以一个简单的人力资源数据框为例:
姓名 | 年份 | 部门 | 薪资 | 新增列:hit100after |
---|---|---|---|---|
约翰 | 2018 | 研发 | 80 | 0 |
玛丽 | 2018 | 法务 | 90 | 0 |
吉尔 | 2018 | 法务 | 100 | 0 |
约翰 | 2019 | 研发 | 85 | 0 |
玛丽 | 2019 | 法务 | 95 | 0 |
吉尔 | 2019 | 法务 | 105 | 1 |
约翰 | 2020 | 研发 | 90 | 0 |
玛丽 | 2020 | 法务 | 100 | 2 |
吉尔 | 2020 | 法务 | 110 | 2 |
问题: 在同一部门的第一个人达到薪资>=100之后,需要多长时间(以年为单位)才能使任何数据集达到相同的薪资? (请参见新列'hit100after')
实际上,我在实现时遇到了困难。我的步骤将是按部门分组,并找到薪资>=100的第一次出现,并用新的布尔类型或第二个数据帧标记该年份。然后,我将计算个体薪资>=100与其部门中第一次出现的差异。
有什么想法可以为大型数据帧编写这样的代码吗?