Pandas kombinieren Datenrahmen

Pandas kombinieren Datenrahmen
Pandas bieten eine breite Palette von Tools und Funktionen für die Datenmanipulation, einschließlich des Verschmelzungsdatenrahmens. Durch das Zusammenführen von DataFrames können wir sowohl einen Datenrahmen erstellen, indem wir die ursprüngliche Datenquelle ändern als auch einen neuen Datenrahmen generieren, ohne die Datenquelle zu ändern. Der Ausdruck „Join“ bezieht sich auf den gemeinsamen Verbinden von zwei Datenrahmen, um einen neuen Datenrahmen zu erstellen. Wenn Sie also mit SQL oder einigen anderen tabellarischen Daten vertraut sind, wissen Sie sicherlich, was es impliziert. Es kann schwierig sein, die Join -Typen richtig zu verstehen, wenn Sie Anfänger sind (äußerer, innere, links, rechts). Wir werden einige Arten von Zusammenarbeit mit Beispielen in diesem Tutorial besprechen. Die Funktionen concat () und merge () werden in diesem Tutorial unser Hauptaugenmerk sein. Um Ihnen so viele nützliche Alternativen wie möglich zu bieten, werden wir über andere Zusammenführungstechniken sprechen.

So kombinieren Sie Datenrahmen in Pandas

Verschiedene Methoden können verwendet werden, um zwei oder mehr Datenrahmen zu kombinieren. Wir werden einige von ihnen in den folgenden Beispielen besprechen.

Beispiel 1: Kombination von zwei Pandas -Datenfunktionen mit der Funktion merge ()
Wir beginnen dieses Beispiel, indem wir zwei einfache Datenrahmen erstellen und sie "DF1" und "DF2" nennen,. Um die Datenrahmen zu erstellen, müssen wir das Pandas -Modul zuerst importieren, um seine Funktionen zu verwenden. Die PD.DataFrame wird verwendet, um unsere Datenrahmen zu erstellen.

Um unsere Datenrahmen zu erstellen, übergeben wir die Wörterbücher innerhalb der PD.DataFrame () und die Datenrahmen den Variablen "DF1" und "DF2" zuweisen.

In unserem DataFrame "DF1" haben wir zwei Spalten - "Person" und "ID", die die Namen von Personen bzw. ID -Nummern dieser Personen speichern.

In unserem zweiten DataFrame "DF2" gibt es auch zwei Spalten - "ID" und "Gehalt" -, die die Dummy -ID -Nummern und Gehälter von Individuen speichern. Verwenden wir die Funktion merge (), um diese Datenrahmen beizutragen. Schauen Sie sich alle Optionen an, die diese Methode akzeptieren kann, bevor Sie fortfahren:

Syntax

Mit Ausnahme der rechts und linken Parameter haben die meisten dieser Parameter Standardwerte. Die von uns kombinierten Datenrahmennamen sind in diesen beiden Parametern enthalten. Ein neuer Datenrahmen wird von der Funktion selbst zurückgegeben, die wir in der Variablen "merge_df" speichern.

Da die Spalten -ID in beiden DataFrames "DF1" und "DF2" dieselbe Beschriftung enthält, kombiniert die merge () -Methode automatisch die beiden Datenrahmen basierend auf diesem Schlüssel. Wir geben die Parameter links_on = ”Name der linken Spalte” und right_on = ”Name der rechten Spalte“ an, um die Schlüssel für unsere Datenfrüchte ausdrücklich anzugeben, wenn es in beiden Datenfrüchten keine Spalte mit demselben Spaltennamen gibt. Drucken wir unseren neuen kombinierten DataFrame mit der Funktion print () aus.

Wie Sie sehen können, enthält Fusiond DF nur 4 Zeilen, während das Original von DF2 5 Zeilen enthält. Dies liegt daran.Merge () -Funktion. Daher würde der kombinierte Datenrahmen keine ID enthalten, die in einem der Tabellen fehlt.

Wenn die rechten und linken Zeilen umgeschaltet wurden, ist dies immer noch der Fall:

Der Ausgang ist der gleiche.

Die ID "005" ist jedoch immer noch kein Teil der kombinierten Datenrahmen. Auch wenn sich keine der Zeilen überschneidet, kann es Situationen geben, in denen wir die Daten beider Datenrahmen in den zusammengeführten Datenrahmen mit allen Zeilen aufnehmen möchten.

Wir können den Parameter „Wie“ in der Funktion merge () auf „rechts“ einstellen.

Die Funktion enthält jedes Element des rechten Datenframe "DF2" und des linken Datenfreame "DF1" mit einem richtigen Join. Wenn die Zeilen im DataFrame "DF1" fehlten, verwenden wir das How = "links".

Beispiel 2: Kombination von zwei Pandas -Datenfunktionen mithilfe der Funktion Join ()
Join () ist eine Funktion des Datenrahmens selbst im Gegensatz zu Merge (), was eine Funktion der Pandas -Instanz ist. Es kann daher wie eine statische Methode für den Datenrahmen verwendet werden. Erstellen wir zunächst zwei Beispieldatenrahmen DF1 und DF2, damit wir sie mit der Funktion Join () kombinieren oder zusammenführen können.

Um den Inhalt beider Datenrahmen zu sehen, drucken wir sie nacheinander aus.

Drucken Sie nun den zweiten Datenrahmen "DF2" aus.

Da wir unsere Datenrahmen erstellt haben, schauen Sie sich die Syntax der Funktion join () an:

Syntax

Unser linker DataFrame "DF1" ist derjenige, auf dem wir die Funktion Join () nennen. Unser rechter Datenrahmen "DF2" ist der im Parameter "Andere" in der Funktion "join ()). Der Parameter „Wie“ akzeptiert einen der Handhabungsparameter (links, rechts, äußere oder innere), während der Parameter „IS“ standardmäßig auf links eingestellt ist. Der Parameter „On“ kann ein oder mehrere Argumente (Tastenliste) akzeptieren, um die Übereinstimmungsschlüssel anzugeben.

Jetzt schließen wir uns DF2 mit DF1 an.

Wie zu sehen ist, haben wir Datenrahmen "DF1" und "DF2" mit der Funktion Join (). Die Ausgabe der Funktion join () kann durch die Verwendung der verschiedenen Parameter und die Angabe der verschiedenen Argumente dafür geändert werden.

Beispiel 3: Kombination von zwei Pandas -Datenfunktionen mithilfe der Funktion concat ()
Im Vergleich zu Merge () und join () ist die Verkettung etwas flexibler, da wir die Datenrahmen entweder horizontal (Spalten-) oder vertikal (zeilenweise) zusammenführen können. Der Hauptnachteil besteht. Die Syntax der Funktion lautet wie folgt:

Syntax

Parameter

  • OBJs: Die Liste der DataFrame -Objekte ([DataFrame1, DataFrame2,…]), die verkettet werden.
  • Achse: Es bestimmt die Reihenfolge der Verkettung, die auf 1 angegeben ist, und in Bezug auf 0, wenn sie auf 0 angegeben sind.
  • verbinden: Es kann für Union und „innere“ für die Kreuzung als „äußeres“ angegeben werden.
  • Ignore_index: Dies kann zu doppelten Indexwerten führen, da „Index ignorieren“ standardmäßig False ist, was die Indexwerte die ursprünglichen Datenframes hält. Wenn wahr, gilt der Index in sequentieller Reihenfolge neu, während die Originalwerte ignoriert werden.
  • Schlüssel: Wir können einen hierarchischen Index mit Tasten erstellen. Betrachten Sie es als eine zusätzliche Ebene des Außenlinks-Index, der bei der Identifizierung von Indizes beim Duplizieren hilft. Lassen Sie uns nun unseren Datenrahmen mit denselben Spaltenbezeichnungen und Datentypen erstellen.

Drucken wir unsere Datenrahmen "DF1" und "DF2", um ihren Inhalt zu sehen.

Wir haben zwei Spalten in "DF1". Jetzt muss „DF2“ zwei Spalten mit den gleichen Namen haben.

Der DataFrame "DF2" besteht auch aus Spalten "Name" und "Alter", die die gleichen Datenatypen wie die Spalten "DF1" -Datenframe haben.

Jetzt übergeben wir den DF1 und DF2 im OBJS-Parameter als Liste ([DF1, DF2]), um sie in Bezug. Und dann weisen wir die neue zusammengeführte Datenrahmen der Variablen „zusammengeführt“ zu.

Wie zu sehen ist, sind die Daten von "DF2" zeilweise mit "DF1" zusammengeführt. Beachten Sie jedoch die Indizes auf der linken Seite jeder Reihe. Die Zahlen 0, 1 und 2 wiederholen sich weiter. Wir setzen das Argument ignore_index auf treu, um die unterschiedlichen Indexwerte zu erhalten.

Der Achsenwert muss vom Standardwert von 0 auf 1 geändert werden, um die Spalte „DF1“ und „DF2“ zu kombinieren.

Sie werden feststellen, dass es sich von merge () unterscheidet, der zwei Datenrahmen in einem Schlüssel entspricht.

Es gibt auch andere Methoden in Pandas wie append () und combine_first () und update (), um zwei Datenrahmen zu kombinieren.

Abschluss

In diesem Tutorial haben wir festgestellt, dass das Kombinieren der Datenframes es uns ermöglicht, sowohl einen Datenrahmen zu erstellen, indem wir die ursprüngliche Datenquelle ändern und einen neuen Datenrahmen generieren, ohne die Datenquelle zu ändern. Wir haben die Syntax von Funktionen gesehen, die zum Zusammenführen der Datenrahmen verwendet werden. Wir haben versucht, Ihnen beizubringen, wie Sie zwei Pandas -Datenfunktionen mit den Funktionen Join (), Merge () und concat () kombinieren können. Jetzt können Sie möglicherweise den DataFrame () kombinieren und den DataFrame selbst über diese Funktionen zuweisen.