Фильтровать события DataFrame не во временных окнах DataFramePython

Программы на Python
Anonymous
Фильтровать события DataFrame не во временных окнах DataFrame

Сообщение Anonymous »

У меня есть DataFrame событий (Имя события — Время) и DataFrame временных окон (Время начала — Время окончания).
Я хочу получить DataFrame, содержащий только события, которых нет в ни одном< /strong> временных окон.
Я ищу «питонический» способ фильтрации DataFrame.
Пример:
События DataFrame:



Имя события< /th>
Время события




Событие1
01.02.2000 00:00:00


Событие2
01.05.2000 10:00:00


Событие3
01.07.2000 09:00:00


Событие4
01.10.2000 02:00:00



Время Windows DataFrame:


Название временного окна
Время начала
Время окончания




Окно1
01/01/2000 00:00:00
01.06.2000 00:00:00


< td>Window2
01.10.2000 01:00:00
01.10.2000 04:00:00


Результат:
Кадр данных отфильтрованных событий:



Название события
Время события




Событие3
01.07.2000 09:00:00



Настройка:
import pandas as pd

events_data = {
'Event Name': ['Event1', 'Event2', 'Event3', 'Event4'],
'Event Time': ['02/01/2000 00:00:00', '05/01/2000 10:00:00', '07/01/2000 09:00:00', '10/01/2000 02:00:00']
}

time_windows_data = {
'Time Window Name': ['Window1', 'Window2'],
'Start Time': ['01/01/2000 00:00:00', '10/01/2000 01:00:00'],
'End Time': ['06/01/2000 00:00:00', '10/01/2000 04:00:00']
}

events_df = pd.DataFrame(events_data)
time_windows_df = pd.DataFrame(time_windows_data)

events_df['Event Time'] = pd.to_datetime(events_df['Event Time'], format='%d/%m/%Y %H:%M:%S')
time_windows_df['Start Time'] = pd.to_datetime(time_windows_df['Start Time'], format='%d/%m/%Y %H:%M:%S')
time_windows_df['End Time'] = pd.to_datetime(time_windows_df['End Time'], format='%d/%m/%Y %H:%M:%S')


Подробнее здесь: https://stackoverflow.com/questions/786 ... -dataframe

Вернуться в «Python»