Мне нужно установить подкадр данных (df1), в котором измерения (темп) записываются каждые 5 минут, с указанием даты и времени в качестве индекса.
Фрейм данных df2 содержит данные о том, когда произошло событие.0 - начало события, а 1 - конец события.У df2 есть столбец с названием date, который является датой времени начала и конца соответствующего события.Начало и конец всех событий записываются с точностью до секунды.
Я хочу установить поднабор df1 на основе времени, когда произошло событие, используя тот же формат даты и времени, который содержится в df1 (temp для каждых 5минут).
В приведенном ниже примере произошло событие между 00:07:00 и 00:14:00, поэтому я хотел бы, чтобы df3 содержал df1 ['temp'] 00:05:00и 00:10:00Также было событие между 00:41:00 и 00:44:00, поэтому я также хотел бы, чтобы df3 содержал 00: 40: 00.
import numpy as np
import pandas as pd
df1 = pd.DataFrame({'temp' : [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]},
index=pd.date_range('2019-05-02T00:00:00', '2019-05-02T01:00:00', freq='5T'))
df2 = pd.DataFrame({'event' : [0, 1, 0, 1],
'date' : ['2019-05-02-00:07:00', '2019-05-02-00:14:00', '2019-05-02-00:41:00', '2019-05-02-00:44:00']})
df2['date'] = pd.to_datetime(df2['date'])
df3 = pd.DataFrame({'result' : [2, 3, 9],
'date' :['2019-05-02-00:05:00', '2019-05-02-00:10:00', '2019-05-02-00:40:00']})
В моей реальной работе у меня есть 7отдельные df, каждый из которых содержит разные события, которые я хочу поместить в df1 и объединить, поэтому я получаю один df, который является подмножеством всех данных в df1, когда в любом из 7 других df было событие.На самом деле в df1 есть 37 столбцов с данными, которые я хочу перенести в окончательный вариант df3.Получив код поднабора, как описано выше, я собирался объединить все данные поднабора и удалить все дубликаты.