【发布时间】:2022-06-21 11:51:50
【问题描述】:
我正在使用这个数据框,每个员工都有一个唯一的 ID,在 E/X 列中,6 代表他输入的时间,1 代表他离开的时间
Emp E/X DateTime Date Time
107 6 2022-01-04 10:04:18 0 2022-01-04 10:04:18
107 6 2022-01-04 11:32:52 0 2022-01-04 11:32:52
107 6 2022-01-04 11:39:59 0 2022-01-04 11:39:59
107 1 2022-01-04 12:05:26 0 2022-01-04 12:05:26
107 6 2022-01-04 18:02:18 0 2022-01-04 18:02:18
107 6 2022-01-04 18:30:38 0 2022-01-04 18:30:38
107 1 2022-01-04 19:06:58 0 2022-01-04 19:06:58
107 1 2022-01-05 12:22:10 0 2022-01-05 12:22:10
107 6 2022-01-05 19:22:15 0 2022-01-05 19:22:15
122 1 2022-01-03 08:57:40 0 2022-01-03 08:57:40
122 6 2022-01-03 12:49:33 0 2022-01-03 12:49:33
122 1 2022-01-03 13:22:28 0 2022-01-03 13:22:28
122 6 2022-01-03 16:29:51 0 2022-01-03 16:29:51
122 1 2022-01-03 16:40:06 0 2022-01-03 16:40:06
我想知道是否可以计算员工每天的工作量并更改 E/X 列,以便每一天都有连续的输入/输出,因为它有时会连续输入多个条目,例如我会采取前两行并将第二行更改为 exit :
Emp E/X DateTime Date Time
107 6 2022-01-04 10:04:18 0 2022-01-04 10:04:18
107 1 2022-01-04 11:32:52 0 2022-01-04 11:32:52
122 6 2022-01-03 08:57:40 0 2022-01-03 08:57:40
122 1 2022-01-03 12:49:33 0 2022-01-03 12:49:33
122 6 2022-01-03 13:22:28 0 2022-01-03 13:22:28
122 1 2022-01-03 16:29:51 0 2022-01-03 16:29:51 this line is going to be deleted
122 1 2022-01-03 16:40:06 0 2022-01-03 16:40:06
想要的结果:
Emp E/X DateTime Date Time
107 6 2022-01-04 10:04:18 0 2022-01-04 10:04:18
107 1 2022-01-04 11:32:52 0 2022-01-04 11:32:52
107 6 2022-01-04 11:39:59 0 2022-01-04 11:39:59
107 1 2022-01-04 12:05:26 0 2022-01-04 12:05:26
107 6 2022-01-04 18:02:18 0 2022-01-04 18:02:18
107 1 2022-01-04 19:06:58 0 2022-01-04 19:06:58
107 6 2022-01-05 12:22:10 0 2022-01-05 12:22:10
107 1 2022-01-05 19:22:15 0 2022-01-05 19:22:15
122 6 2022-01-03 08:57:40 0 2022-01-03 08:57:40
122 1 2022-01-03 12:49:33 0 2022-01-03 12:49:33
122 6 2022-01-03 13:22:28 0 2022-01-03 13:22:28
122 1 2022-01-03 16:40:06 0 2022-01-03 16:40:06
一旦 E/X 固定,我想计算每个员工每天 6 到 1 之间的每个差异的总和
期望的结果:
EMP Date WorkHours
4 107 2022-01-03 2
5 107 2022-01-04 8
6 122 2022-01-03 4
【问题讨论】:
-
为什么员工 117 消失了?
-
我只取了前两行来显示处理过程,因为它必须像那个条目然后退出
-
清理入口和出口的逻辑似乎非常不清楚和不直观。数据显示员工 117 进入,然后 107 进入,但由于某种原因,您不能连续两次进入,所以 107 一定被错误地记录为退出?你怎么知道 117 没有被错误地记录为条目?或者数据没有丢失?
-
这是一个错误,没有员工 117 现在已编辑
-
请检查您想要的第一个结果。我感觉出了点问题。
标签: python pandas dataframe pandas-groupby