Задача, которую вы запрашиваете, — найти в библиотеке pandas методы для фильтрации DataFrame на основе временного диапазона. Вот несколько методов, которые вы можете использовать:
-
Использование логического индексирования. Одним из способов фильтрации DataFrame на основе временного диапазона является создание логической маски с использованием метода
between_time
. Вот пример:mask = df.index.time.between(start_time, end_time) filtered_df = df[mask]
-
Использование метода
between_time
: Pandas предоставляет встроенный методbetween_time
, который позволяет выбирать строки на основе определенного диапазона времени. Вот пример:filtered_df = df.between_time(start_time, end_time)
-
Использование метода
indexer_between_time
. Другой подход заключается в использовании методаindexer_between_time
, который возвращает целочисленные индексы, соответствующие строкам в указанном диапазоне времени.. Вот пример:indices = df.index.indexer_between_time(start_time, end_time) filtered_df = df.iloc[indices]
-
Использование частичного сопоставления строк. Если ваш DataFrame имеет индекс datetime, вы также можете фильтровать на основе частичного сопоставления строк с помощью метода
str.contains
. Вот пример:filtered_df = df[df.index.strftime('%H:%M:%S').str.contains('08:00:00|09:00:00')]