Heim >Datenbank >MySQL-Tutorial >Wie führe ich einen Pandas Left Outer Join über mehrere DataFrames mit mehreren Join-Spalten durch?

Wie führe ich einen Pandas Left Outer Join über mehrere DataFrames mit mehreren Join-Spalten durch?

Barbara Streisand
Barbara StreisandOriginal
2025-01-04 00:51:441061Durchsuche

How to Perform a Pandas Left Outer Join Across Multiple DataFrames with Multiple Join Columns?

Pandas Left Outer Join für mehrere Datenrahmen mit mehreren Spalten

In Pandas ist das Zusammenführen von Datenrahmen eine häufige Aufgabe. Dies wird komplexer, wenn Verknüpfungen mit mehreren Tabellen und mehreren Verknüpfungsspalten durchgeführt werden. Für einen linken äußeren Join behalten wir alle Zeilen des linken Datenrahmens bei und ergänzen fehlende Werte aus dem rechten Datenrahmen.

Um die Datenrahmen df1, df2 und df3 mit mehreren Join-Spalten zusammenzuführen, empfehlen wir einen zweistufigen Vorgang Vorgehensweise:

Schritt 1: df1 und zusammenführen df2

s1 = pd.merge(df1, df2, how='left', on=['Year', 'Week', 'Colour'])

Schritt 2: Führen Sie das Ergebnis aus Schritt 1 mit df3 zusammen

Da wir die Spalte „Jahr“ für die zweite Zusammenführung nicht benötigen, Wir können es vor dem Beitritt aus df3 löschen:

df3_dropped = df3.drop('Year', axis=1)
df = pd.merge(s1, df3_dropped, how='left', on=['Week', 'Colour'])

Das gibt uns das Gewünschte Ausgabe:

   Year Week Colour  Val1  Val2 Val3
0  2014    A    Red    50   NaN  NaN
1  2014    B    Red    60   NaN   60
2  2014    B  Black    70   100   10
3  2014    C    Red    10    20  NaN
4  2014    D  Green    20   NaN   20

Das obige ist der detaillierte Inhalt vonWie führe ich einen Pandas Left Outer Join über mehrere DataFrames mit mehreren Join-Spalten durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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