У меня есть два DataFrames с двумя различными данными временного ряда. Для простоты назовем их Events
и Status
.Как эффективно сочетать 2 DateFrames на основе временной отметки?
events:
root
|-- timestamp: timestamp (nullable = true)
|-- event_type: string (nullable = true)
|-- event_id: string (nullable = true)
statuses:
root
|-- timestamp: timestamp (nullable = true)
|-- status: string (nullable = true)
|-- field1: string (nullable = true)
|-- field2: string (nullable = true)
|-- field3: string (nullable = true)
Я хотел бы присоединиться к ним так каждый Event
будет иметь столбец list_statuses
, который содержит все объекты статусов в предыдущих X часов своей собственной временной метки.
Я могу сделать это декартовым произведением events
и statuses
, а затем filter
по критериям времени, но это (крайне) неэффективно.
Есть ли лучший способ сделать это? Что-нибудь готово?
(Я думал группировать оба кадра данных в окне времени, а затем самостоятельно присоединяться ко второму, чтобы содержать как текущие, так и предыдущие временные окна, а затем соединяться между ними и фильтром, но если есть что-то готовое и ошибка -бесплатно, я бы с удовольствием использовал ...)
Спасибо!