【发布时间】:2020-07-28 11:12:06
【问题描述】:
I have this kind of data:(given below):
[![This is my sample data][1]][1]
RegistrationNo EventType StartDateTime EndDateTime Duration(inMins)
0 MH-04-**-**** Stop 2020-07-13 16:46:00 2020-07-14 04:53:00 727.0
1 MH-04-**-**** Transit 2020-07-14 04:53:00 2020-07-14 06:28:00 95.0
2 MH-04-**-**** Stop 2020-07-14 06:28:00 2020-07-14 06:52:00 24.0
3 MH-04-**-**** Transit 2020-07-14 06:52:00 2020-07-14 07:03:00 11.0
4 MH-04-**-**** Stop 2020-07-14 07:03:00 2020-07-14 07:58:00 55.0
5 MH-04-**-**** Transit 2020-07-14 07:58:00 2020-07-14 10:26:00 148.0
6 MH-04-**-**** Stop 2020-07-14 10:26:00 2020-07-14 10:55:00 29.0
7 MH-04-**-**** Transit 2020-07-14 10:55:00 2020-07-14 11:15:00 20.0
8 MH-04-**-**** Stop 2020-07-14 11:15:00 2020-07-14 11:59:00 44.0
9 MH-04-**-**** Transit 2020-07-14 11:59:00 2020-07-14 12:03:00 4.0
10 MH-04-**-**** Stop 2020-07-14 12:03:00 2020-07-14 16:18:00 255.0
11 MH-04-**-**** Transit 2020-07-14 16:18:00 2020-07-14 16:19:00 1.0
12 MH-04-**-**** Stop 2020-07-14 16:19:00 2020-07-14 16:39:00 20.0
13 MH-04-**-**** Transit 2020-07-14 16:39:00 2020-07-14 18:20:00 101.0
14 MH-04-**-**** Stop 2020-07-14 18:20:00 2020-07-14 20:22:00 122.0
15 MH-04-**-**** Transit 2020-07-14 20:22:00 2020-07-14 21:41:00 79.0
16 MH-04-**-**** Stop 2020-07-14 21:41:00 2020-07-15 05:52:00 491.0
17 MH-04-**-**** Transit 2020-07-15 05:52:00 2020-07-15 07:37:00 105.0
18 MH-04-**-**** Stop 2020-07-15 07:37:00 2020-07-16 05:17:00 1300.0
19 MH-04-**-**** Transit 2020-07-16 05:17:00 2020-07-16 06:23:00 66.0
20 MH-04-**-**** Stop 2020-07-16 06:23:00 2020-07-16 08:11:00 108.0
21 MH-04-**-**** Transit 2020-07-16 08:11:00 2020-07-16 08:13:00 2.0
22 MH-04-**-**** Stop 2020-07-16 08:14:00 2020-07-16 09:22:00 68.0
23 MH-04-**-**** Transit 2020-07-16 09:22:00 2020-07-16 09:28:00 6.0
24 MH-04-**-**** Stop 2020-07-16 09:28:00 2020-07-16 09:45:00 17.0
我想制作一个程序,我想在每 4 个小时的驾驶中检查一次休息时间,如果总休息时间不超过 1 小时,那么它连续驾驶了多少时间,忽略总时间在第一个 4 小时间隔内休息少于 60 分钟/1 小时。
一些细节点:
总共开车超过 4 小时且没有休息至少 1 小时。 1小时的休息时间可以分为15分钟的休息时间。
连续驾驶超过 4 小时的每小时将被计为 1 次。例如。如果车辆连续行驶 5 小时 2 分钟,则计数为 2(第 5 小时和第 6 小时的 2 分钟)
我尝试了很多东西,但无法涵盖所有条件。
请帮忙,现在你们只是希望!提前致谢!
【问题讨论】:
-
只有一句话和一些问题。 1/ 你应该首先尝试自己解决它并表现出诚实的尝试。 2/您想考虑 4 小时的重叠时间段还是仅考虑连续时间段? 3/ 在示例中,每一行的开始时间等于前一行的结束时间。是一致的还是数据框中可能存在漏洞或重叠?
-
1.我从昨天开始就在尝试,即使我问朋友但没有成功..即使我发现循环令人困惑,而且条件很多。 :( .. 并且数据是一致的,您可以看到事件正在发生变化,一旦事件发生变化,第二次开始。
-
您仍然没有回答是否应该考虑重叠 4 小时的时间段(比如 6:00 -> 10:00 然后 6:05 ->10:05 等)或只考虑连续的时间段(6 :00 ->10:00 然后 10:00 ->14:00)。即使您的代码不起作用,它也可以帮助显示它(以及当前和预期的行为),因为其他人可以向您解释它为什么不起作用;-)
-
你可以看到时间段已经是连续的..是的,你说得有道理..:) 让我添加一些!
-
@SergeBallesta 如果你说的是从(第二行值)04:53:00 到 08:53:00,然后是(下一个值)06:52:00 到 10:52:00那么是的..是的,我们需要考虑每一次过境。
标签: python python-3.x pandas python-2.7 data-analysis