Heim > Backend-Entwicklung > Python-Tutorial > Wie verbinde ich DataFrames basierend auf Zeitstempelbereichen?

Wie verbinde ich DataFrames basierend auf Zeitstempelbereichen?

Linda Hamilton
Freigeben: 2024-12-30 22:57:14
Original
743 Leute haben es durchsucht

How to Join DataFrames Based on Timestamp Ranges?

Datenrahmen basierend auf Spaltenwertbereichen verbinden

Im gegebenen Kontext haben wir zwei Datenrahmen, df_1 und df_2, die wir zusammenführen müssen sie so, dass die Zeitstempelspalte in df_1 in die Start- und Endspalten in fällt df_2.

Ein Ansatz, dies zu erreichen, besteht darin, einen Intervallindex aus den Start- und Endspalten in df_2 zu erstellen. Anschließend können wir mit der Methode get_loc das entsprechende Ereignis für jeden Zeitstempel in df_1 abrufen. Hier ist der Python-Code für diese Lösung:

# Create interval index from df_2
df_2.index = pd.IntervalIndex.from_arrays(df_2['start'], df_2['end'], closed='both')

# Get corresponding event for each timestamp in df_1
df_1['event'] = df_1['timestamp'].apply(lambda x: df_2.iloc[df_2.index.get_loc(x)]['event'])
Nach dem Login kopieren

Dadurch wird eine neue Spalte mit dem Namen „event“ in df_1 erstellt, die die entsprechenden Ereignisse für jeden Zeitstempel enthält, der in die angegebenen Bereiche in df_2 fällt. Der resultierende verbundene Datenrahmen enthält die folgenden Spalten:

timestamp         A         B event
Nach dem Login kopieren

Die Ausgabe sieht etwa so aus:

            timestamp         A         B event
0 2016-05-14 10:54:33  0.020228  0.026572    E1
1 2016-05-14 10:54:34  0.057780  0.175499    E2
2 2016-05-14 10:54:35  0.098808  0.620986    E2
3 2016-05-14 10:54:36  0.158789  1.014819    E2
4 2016-05-14 10:54:39  0.038129  2.384590    E3
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie verbinde ich DataFrames basierend auf Zeitstempelbereichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage