检查熊猫数据框中的时间范围

时间:2020-08-31 17:43:00

标签: python python-3.x pandas

我们有带有开始日期和结束日期列的Pandas数据框(输入格式如下)。我需要检查起始日期和结束日期之间是否存在给定的输入时间范围。

例如,如果时间范围是09:30-10:30,则输出应为第一行(student1),如果时间范围是16:00-17:30,则输出应为第二行(student2) 。请指导我如何实现这一目标。

输入数据框:

        name          start_date            end_date
0   student1    2020-08-30 09:00:00     2020-08-30 10:00:00
1   student2    2020-08-30 15:00:00     2020-08-30 18:00:00
2   student3    2020-08-30 11:00:00     2020-08-30 12:30:00

1 个答案:

答案 0 :(得分:1)

假设您的日期列为datetime格式:

from datetime import datetime
start_time = datetime(2020, 1, 1, 9, 30)
end_time = datetime(2020, 1, 1, 10, 30)

df['start_date'].dt.time.le(end_time.time())&df['end_date'].dt.time.ge(start_time.time())