Heim >Backend-Entwicklung >Python-Tutorial >Wie führen Sie DataFrames in Pandas nach Index zusammen und welche verschiedenen Arten der Zusammenführung sind verfügbar?

Wie führen Sie DataFrames in Pandas nach Index zusammen und welche verschiedenen Arten der Zusammenführung sind verfügbar?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-31 01:35:03582Durchsuche

How do you merge DataFrames in Pandas by index and what are the different types of merges available?

DataFrames nach Index zusammenführen: Eine umfassende Anleitung

Das Zusammenführen zweier DataFrames basierend auf ihren Indizes ist eine häufige Datenmanipulationsaufgabe. Es kann jedoch zu Fehlern oder unerwartetem Verhalten kommen, wenn die Zusammenführung nicht korrekt angegangen wird. In diesem Leitfaden werden wir uns mit den verschiedenen Methoden des Zusammenführens nach Index befassen und ihre wichtigsten Unterschiede und potenziellen Fallstricke hervorheben.

Zusammenführungsfunktionen verstehen

In der Pandas-Bibliothek von Python Zum Zusammenführen von DataFrames stehen mehrere Funktionen zur Verfügung: Merge, Join und Concat. Jede Funktion hat ihren eigenen Standard-Join-Typ:

  • Merge: Inner Join
  • Join: Left Join
  • concat: Outer Join

Zusammenführen nach Index

Um zwei DataFrames nach Index zusammenzuführen, müssen wir die Parameter left_index und right_index angeben in den Merge- oder Join-Funktionen. Dadurch wird Pandas angewiesen, die Zeilenbeschriftungen (Indizes) der DataFrames als Verbindungsschlüssel zu verwenden.

Beispiel:

Betrachten Sie die folgenden zwei DataFrames:

<code class="python">df1 = pd.DataFrame({'a': range(6), 'b': [5, 3, 6, 9, 2, 4]}, index=list('abcdef'))
df2 = pd.DataFrame({'c': range(4), 'd': [10, 20, 30, 40]}, index=list('abhi'))</code>

Inner Join (Standard):

So führen Sie einen Inner Join mit der Zusammenführungsfunktion durch:

<code class="python">pd.merge(df1, df2, left_index=True, right_index=True)</code>

Ausgabe:

   a  b  c   d
a  0  5  0  10
b  1  3  1  20

Left Join (Standard):

So führen Sie einen Left Join mit der Join-Funktion durch:

<code class="python">df1.join(df2)</code>

Ausgabe:

   a  b    c     d
a  0  5  0.0  10.0
b  1  3  1.0  20.0
c  2  6  NaN   NaN
d  3  9  NaN   NaN
e  4  2  NaN   NaN
f  5  4  NaN   NaN

Äußerer Join:

So führen Sie einen äußeren Join mit der Concat-Funktion durch:

<code class="python">pd.concat([df1, df2], axis=1)</code>

Ausgabe:

     a    b    c     d
a  0.0  5.0  0.0  10.0
b  1.0  3.0  1.0  20.0
c  2.0  6.0  NaN   NaN
d  3.0  9.0  NaN   NaN
e  4.0  2.0  NaN   NaN
f  5.0  4.0  NaN   NaN
h  NaN  NaN  2.0  30.0
i  NaN  NaN  3.0  40.0

Wichtige Hinweise:

  • Die Zusammenführung nach Index ist effizient, wenn die Join-Spalten im Vergleich zum gesamten DataFrame kleiner sind.
  • Die äußere Verknüpfung nach Index kann rechenintensiv sein.
  • Es gilt allgemein als bewährte Vorgehensweise, den Index vor der Durchführung von Zusammenführungen in eine Spalte zu verschieben.

Das obige ist der detaillierte Inhalt vonWie führen Sie DataFrames in Pandas nach Index zusammen und welche verschiedenen Arten der Zusammenführung sind verfügbar?. 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