Фильтрация кадра данных Pandas по временному диапазону: методы и примеры

Задача, которую вы запрашиваете, — найти в библиотеке pandas методы для фильтрации DataFrame на основе временного диапазона. Вот несколько методов, которые вы можете использовать:

  1. Использование логического индексирования. Одним из способов фильтрации DataFrame на основе временного диапазона является создание логической маски с использованием метода between_time. Вот пример:

    mask = df.index.time.between(start_time, end_time)
    filtered_df = df[mask]
  2. Использование метода between_time: Pandas предоставляет встроенный метод between_time, который позволяет выбирать строки на основе определенного диапазона времени. Вот пример:

    filtered_df = df.between_time(start_time, end_time)
  3. Использование метода indexer_between_time. Другой подход заключается в использовании метода indexer_between_time, который возвращает целочисленные индексы, соответствующие строкам в указанном диапазоне времени.. Вот пример:

    indices = df.index.indexer_between_time(start_time, end_time)
    filtered_df = df.iloc[indices]
  4. Использование частичного сопоставления строк. Если ваш DataFrame имеет индекс datetime, вы также можете фильтровать на основе частичного сопоставления строк с помощью метода str.contains. Вот пример:

    filtered_df = df[df.index.strftime('%H:%M:%S').str.contains('08:00:00|09:00:00')]