logo

Verschiedene Arten von Verknüpfungen in Pandas

Das Pandas-Modul enthält verschiedene Funktionen zum Ausführen verschiedener Vorgänge an Datenrahmen wie Verbinden, Verketten, Löschen, Hinzufügen usw. In diesem Artikel werden wir die verschiedenen Arten von Verbindungsvorgängen besprechen, die auf Pandas ausgeführt werden können Datenrahmen. Es gibt fünf Arten von Joins Pandas .

  • Innere Verbindung
  • Linke äußere Verbindung
  • Rechte äußere Verbindung
  • Vollständiger Outer Join oder einfach Outer Join
  • Index beitreten

Um die verschiedenen Arten von Verknüpfungen zu verstehen, erstellen wir zunächst zwei DataFrames, nämlich A Und B .



Datenrahmen a:

Python3








# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # printing the dataframe> a>

>

>

Ausgabe:

Datenrahmen b:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # printing the dataframe> b>

>

>

Ausgabe:

Arten von Verknüpfungen in Pandas

Wir werden diese beiden Datenrahmen verwenden, um die verschiedenen Arten von Verknüpfungen zu verstehen.

Pandas Innere Verbindung

Inner Join ist die häufigste Art von Join, mit der Sie arbeiten. Es gibt einen Datenrahmen zurück, der nur die Zeilen enthält, die gemeinsame Merkmale aufweisen. Dies ähnelt dem Schnittpunkt zweier Mengen.

Pandas Inner Join

Beispiel:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # inner join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'inner'>)> # display dataframe> df>

>

>

Ausgabe:

Pandas Links beitreten

Bei einem Left Outer Join werden alle Datensätze aus dem ersten Dataframe angezeigt, unabhängig davon, ob die Schlüssel im ersten Dataframe im zweiten Dataframe zu finden sind. Für den zweiten Datenrahmen hingegen werden nur die Datensätze mit den Schlüsseln im zweiten Datenrahmen angezeigt, die im ersten Datenrahmen gefunden werden können.

Links-Join Beispiel:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # left outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'left'>)> # display dataframe> df>

>

>

Ausgabe:

Pandas Rechte äußere Verbindung

Bei einem rechten Join werden alle Datensätze aus dem zweiten Datenrahmen angezeigt. Es werden jedoch nur die Datensätze angezeigt, deren Schlüssel im ersten Datenrahmen auch im zweiten Datenrahmen gefunden werden können.

Pandas Right Outer Join

Beispiel:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # right outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'right'>)> # display dataframe> df>

>

>

Ausgabe:

Pandas Vollständiger äußerer Join

Ein vollständiger äußerer Join gibt alle Zeilen des linken Datenrahmens und alle Zeilen des rechten Datenrahmens zurück und ordnet die Zeilen nach Möglichkeit mit NaNs an anderer Stelle zusammen. Wenn der Datenrahmen jedoch vollständig ist, erhalten wir die gleiche Ausgabe.

Pandas Full Outer Join

Beispiel:

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # full outer join> df>=> pd.merge(a, b, on>=>'id'>, how>=>'outer'>)> # display dataframe> df>

Java-Tutorial
>

>

Ausgabe:

Pandas Index Beitreten

Um den Datenrahmen mit Indizes zusammenzuführen, übergeben Sie die left_index Und right_index Argumente als „True“, d. h. beide Datenrahmen werden mithilfe des Standard-Inner-Joins in einem Index zusammengeführt.

Python3




# importing pandas> import> pandas as pd> # Creating dataframe a> a>=> pd.DataFrame()> # Creating Dictionary> d>=> {>'id'>: [>1>,>2>,>10>,>12>],> >'val1'>: [>'a'>,>'b'>,>'c'>,>'d'>]}> a>=> pd.DataFrame(d)> # Creating dataframe b> b>=> pd.DataFrame()> # Creating dictionary> d>=> {>'id'>: [>1>,>2>,>9>,>8>],> >'val1'>: [>'p'>,>'q'>,>'r'>,>'s'>]}> b>=> pd.DataFrame(d)> # index join> df>=> pd.merge(a, b, left_index>=>True>, right_index>=>True>)> # display dataframe> df>

>

>

Ausgabe: