Проверка диапазона времени в фрейме данных pandas

#python #python-3.x #pandas

#python #python-3.x #pandas

Вопрос:

У нас есть фрейм данных Pandas со столбцами start_date и end_date (формат ввода приведен ниже). Мне нужно проверить, присутствует ли данный диапазон времени ввода между start_date и end_date.

Например, если временной диапазон равен 09:30-10:30, вывод должен быть в первой строке (студент1), а если временной диапазон равен 16:00-17:30, вывод должен быть во второй строке (студент2). Пожалуйста, подскажите мне, как я могу этого добиться.

Входной фрейм данных:

         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:

Предположим, что ваши столбцы даты имеют 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())amp;df['end_date'].dt.time.ge(start_time.time())