Ich habe zwei DataFrames mit zwei verschiedenen Zeitreihendaten. Zur Vereinfachung nennen wir sie Events
und Status
.Wie effektiv 2 DateFrames basierend auf Timestamp Unterschied beizutreten?
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)
Ich mag würde sie verbinden, so wird jeder Event
eine Spalte von list_statuses
haben, die alle Objekte von Zuständen in den vorherigen X Stunden seines eigenen Zeitstempel enthält.
Ich kann es durch ein kartesisches Produkt von events
und statuses
und dann filter
für die Zeitkriterien tun, aber das es (extrem) ineffizient ist.
Gibt es einen besseren Weg, es zu tun? Alles von der Stange?
(ich dachte, um beide Datenrahmen in einem Zeitfenster zu gruppieren, dann verbinden sich selbst die zweite, um sowohl die aktuellen und die früheren Zeitfenster zu enthalten und dann zwischen ihnen und Filter, aber wenn es etwas bereit und Bug ist -frei, würde ich gerne benutzen ...)
Danke!