【发布时间】:2021-07-05 03:17:40
【问题描述】:
我们以一个简单的 HR 数据框为例:
| Name | Year | Department | Salary | New column: hit100after |
|---|---|---|---|---|
| John | 2018 | R&D | 80 | 0 |
| Marie | 2018 | Legal | 90 | 0 |
| Jill | 2018 | Legal | 100 | 0 |
| John | 2019 | R&D | 85 | 0 |
| Marie | 2019 | Legal | 95 | 0 |
| Jill | 2019 | Legal | 105 | 1 |
| John | 2020 | R&D | 90 | 0 |
| Marie | 2020 | Legal | 100 | 2 |
| Jill | 2020 | Legal | 110 | 2 |
问题:在同一部门的第一个人达到这个数字后,任何数据集需要多少时间(以年为单位)达到薪水 >= 100? (见新栏“hit100after”)
实际上,我正在为实施而苦苦挣扎。我的步骤是按部门分组并找到第一次出现的薪水 >= 100 并用新的布尔类型或第二个数据框标记那一年。然后我会计算 >= 100 的个人与其部门中的第一次出现之间的差异。
知道如何为大型数据框编写代码吗?
【问题讨论】:
-
Jill 2018中hit100after的数量应该是1?
-
100 在 2018 年首次出现在法律领域。所以 hit100after 的值只能为 0,因为距离这个“发生事件”已经过去了 0 年。
标签: python python-3.x pandas data-science