【发布时间】:2019-07-05 22:39:13
【问题描述】:
我想编写一个将时间分组为时间段的代码。我有两列from 和to,我有列表periods。根据来自两列的值,我需要将新列插入到名为 periods 的数据框中,这将代表时间段。
这是代码:
import pandas as pd
df = pd.DataFrame({"from":['08:10', '14:00', '15:00', '17:01', '13:41'],
"to":['10:11', '15:32', '15:35' , '18:23', '16:16']})
print(df)
periods = ["00:01-06:00", "06:01-12:00", "12:01-18:00", "18:01-00:00"]
#if times are between two periods, for example '17:01' and '18:23', it counts as first period ("12:01-18:00")
结果应如下所示:
from to period
0 08:10 10:11 06:01-12:00
1 14:00 15:32 12:01-18:00
2 15:00 15:35 12:01-18:00
3 17:01 18:03 18:01-00:00
4 18:41 19:16 18:01-00:00
两列中的值是日期时间。
【问题讨论】:
-
您应该始终包含您迄今为止尝试过的内容。
-
问题是,我不知道该怎么做
-
第 4 行的结果有误。周期应该是第三周期。此外,您的 df 的第五个“来自”值应该是 '18:41' 而不是 '13:41'。
-
为什么
17:01 - 18:03属于18:01-00:00?我们只看to列吗? -
如果您的问题已解决,请标记正确答案。