Die 4 Arten von DataFrame-Joins, die von Pythons Pandas-Bibliothek angeboten werden

Die 4 Arten von DataFrame-Joins, die von Pythons Pandas-Bibliothek angeboten werden

Als Datenanalyst müssen Sie häufig mehrere Datensätze kombinieren. Sie müssen dies tun, um Ihre Analyse abzuschließen und zu einer Schlussfolgerung für Ihr Unternehmen/Ihre Stakeholder zu gelangen.





Es ist oft eine Herausforderung, Daten darzustellen, wenn sie in verschiedenen Tabellen gespeichert sind. Unter solchen Umständen bewähren sich Joins, unabhängig davon, mit welcher Programmiersprache Sie arbeiten.





MAKEUSEOF VIDEO DES TAGES

Python-Joins sind wie SQL-Joins: Sie kombinieren Datensätze, indem sie ihre Zeilen mit einem gemeinsamen Index abgleichen.





Erstellen Sie zwei DataFrames als Referenz

Um den Beispielen in diesem Handbuch zu folgen, können Sie zwei Beispiel-DataFrames erstellen. Verwenden Sie den folgenden Code, um den ersten DataFrame zu erstellen, der eine ID, einen Vornamen und einen Nachnamen enthält.

import pandas as pd 

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber"]})
print(a)

Importieren Sie im ersten Schritt die Pandas Bibliothek. Sie können dann eine Variable verwenden, a , um das Ergebnis des DataFrame-Konstruktors zu speichern. Übergeben Sie dem Konstruktor ein Wörterbuch mit Ihren erforderlichen Werten.



Zeigen Sie schließlich den Inhalt des DataFrame-Werts mit der Druckfunktion an, um zu überprüfen, ob alles wie erwartet aussieht.

Ebenso können Sie einen weiteren DataFrame erstellen, b , die eine ID und Gehaltswerte enthält.





b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"], 
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(b)

Sie können die Ausgabe in einer Konsole oder einer IDE überprüfen. Es sollte den Inhalt Ihrer DataFrames bestätigen:

brauchst du playstation plus um fortnite zu spielen?

Wie unterscheiden sich Joins von der Merge-Funktion in Python?

Die Pandas-Bibliothek ist eine der Hauptbibliotheken, die Sie zum Bearbeiten von DataFrames verwenden können. Da DataFrames mehrere Datensätze enthalten, stehen in Python verschiedene Funktionen zur Verfügung, um sie zu verbinden.





Python bietet unter anderem die Join- und Merge-Funktionen, mit denen Sie DataFrames kombinieren können. Es gibt einen großen Unterschied zwischen diesen beiden Funktionen, den Sie beachten müssen, bevor Sie eine von beiden verwenden.

Die Join-Funktion verbindet zwei DataFrames basierend auf ihren Indexwerten. Das Die Zusammenführungsfunktion kombiniert DataFrames basierend auf den Indexwerten und den Spalten.

Was müssen Sie über Joins in Python wissen?

Bevor wir die verfügbaren Join-Typen besprechen, sind hier einige wichtige Dinge zu beachten:

  • SQL-Joins sind eine der grundlegendsten Funktionen und sind den Joins von Python ziemlich ähnlich.
  • Um DataFrames beizutreten, können Sie die verwenden pandas.DataFrame.join() Methode.
  • Die Standardverknüpfung führt eine linke Verknüpfung durch, während die Zusammenführungsfunktion eine innere Verknüpfung ausführt.

Die Standardsyntax für einen Python-Join lautet wie folgt:

DataFrame.join(other, on=None, how='left/right/inner/outer', lsuffix='', rsuffix='', 
sort=False)

Rufen Sie die Join-Methode für den ersten DataFrame auf und übergeben Sie den zweiten DataFrame als ersten Parameter. Sonstiges . Die restlichen Argumente sind:

  • an , der einen Index benennt, dem beigetreten werden soll, falls es mehr als einen gibt.
  • wie , die definiert den Join-Typ, einschließlich Inner, Outer, Left und Right.
  • lsuffix , die definiert die linke Suffix-Zeichenfolge Ihres Spaltennamens.
  • rsuffix , die definiert den richtigen Suffix-String Ihres Spaltennamens.
  • Sortieren , die ist ein boolescher Wert, der angibt, ob der resultierende DataFrame sortiert werden soll.

Erfahren Sie, wie Sie die verschiedenen Arten von Joins in Python verwenden

Python hat ein paar Join-Optionen, die Sie je nach Bedarf der Stunde ausüben können. Hier sind die Join-Typen:

1. Links beitreten

Die linke Verknüpfung hält die Werte des ersten DataFrame intakt, während die übereinstimmenden Werte aus dem zweiten übernommen werden. Zum Beispiel, wenn Sie die passenden Werte aus einspielen möchten b , können Sie es wie folgt definieren:

c = a.join(b, how="left", lsuffix = "_left", rsuffix = "_right", sort = True) 
print(c)

Wenn die Abfrage ausgeführt wird, enthält die Ausgabe die folgenden Spaltenreferenzen:

  • ID_links
  • Fname
  • Lname
  • ID_richtig
  • Gehalt

Dieser Join zieht die ersten drei Spalten aus dem ersten DataFrame und die letzten beiden Spalten aus dem zweiten DataFrame. Es hat die verwendet lsuffix und rsuffix -Werte, um die ID-Spalten aus beiden Datensätzen umzubenennen und sicherzustellen, dass die resultierenden Feldnamen eindeutig sind.

Die Ausgabe ist wie folgt:

  Code, der die Linksverknüpfung in Python anzeigt's dataframes

2. Rechts verbinden

Die rechte Verknüpfung hält die Werte des zweiten DataFrame intakt, während die übereinstimmenden Werte aus der ersten Tabelle übernommen werden. Zum Beispiel, wenn Sie die passenden Werte aus einspielen möchten a , können Sie es wie folgt definieren:

c = b.join(a, how="right", lsuffix = "_right", rsuffix = "_left", sort = True) 
print(c)

Die Ausgabe ist wie folgt:

  Code, der den rechten Join in Python anzeigt's dataframes

Wenn Sie den Code überprüfen, gibt es einige offensichtliche Änderungen. Beispielsweise enthält das Ergebnis die Spalten des zweiten DataFrame vor denen des ersten DataFrame.

Sie sollten einen Wert von verwenden Rechts für die wie -Argument, um einen rechten Join anzugeben. Beachten Sie auch, wie Sie die wechseln können lsuffix und rsuffix Werte, um die Art der richtigen Verbindung widerzuspiegeln.

In Ihren regulären Joins werden Sie möglicherweise feststellen, dass Sie häufiger Left-, Inner- und Outer-Joins verwenden als den Right-Join. Die Nutzung hängt jedoch ganz von Ihren Datenanforderungen ab.

3. Innere Verbindung

Ein innerer Join liefert die übereinstimmenden Einträge aus beiden DataFrames. Da Joins die Indexnummern verwenden, um Zeilen abzugleichen, gibt ein innerer Join nur Zeilen zurück, die übereinstimmen. Verwenden wir für diese Veranschaulichung die folgenden zwei DataFrames:

a = pd.DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"], 
"Fname": ["Ron", "John", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lname": ["Keith", "Harley", "Smith", "Kerr-Hislop", "Barber", "Hooper", "Hope"]})
b = pd.DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Salary": [100000, 700000, 80000, 904750, 604772]})

print(a)
print(b)

Die Ausgabe ist wie folgt:

  Erstellen Sie neue Datenrahmen in Python

Sie können einen Inner Join wie folgt verwenden:

c = a.join(b, lsuffix="_left", rsuffix="_right", how='inner') 
print(c)

Die resultierende Ausgabe enthält nur Zeilen, die in beiden Eingabe-DataFrames vorhanden sind:

  Code, der die innere Verknüpfung in Python zeigt's dataframes

4. Äußere Verknüpfung

Ein äußerer Join gibt alle Werte aus beiden DataFrames zurück. Für Zeilen ohne übereinstimmende Werte wird ein Nullwert für die einzelnen Zellen erzeugt.

Unter Verwendung des gleichen DataFrame wie oben ist hier der Code für die äußere Verknüpfung:

Kostenlos mit E-Mail verknüpfte Konten finden
c = a.join(b, lsuffix="_left", rsuffix="_right", how='outer') 
print(c)
  Code, der den äußeren Join in Python zeigt's dataframes

Verwendung von Joins in Python

Joins bieten wie ihre Gegenstücke Merge und Concat weit mehr als eine einfache Join-Funktionalität. Aufgrund der Reihe von Optionen und Funktionen können Sie die Optionen auswählen, die Ihren Anforderungen entsprechen.

Mit den flexiblen Optionen, die Python bietet, können Sie die resultierenden Datensätze mit oder ohne Join-Funktion relativ einfach sortieren.