Drei-Wege-Verknüpfungen für Pandas-Datenrahmen basierend auf Spalten durchführen
Wenn Sie mit unterschiedlichen Datensätzen arbeiten, können Sie diese zusammenführen, um eine umfassende Ansicht zu erhalten entscheidend sein. In der Pandas-Bibliothek von Python bietet die Funktion „join()“ eine leistungsstarke Möglichkeit, mehrere Datenrahmen basierend auf einem gemeinsamen Index zu kombinieren.
Frage:
Sie besitzen drei CSV-Dateien, Jede enthält in der ersten Spalte Personennamen und in den übrigen Spalten verschiedene Attribute. Ihr Ziel ist es, diese Dateien in einer einzigen CSV-Datei zu „verbinden“, wobei jede Zeile eine einzigartige Person und alle ihre Attribute darstellt.
Zunächst impliziert die Funktion „join()“ die Notwendigkeit eines Multiindex. Es kommt jedoch zu Verwirrung, wenn versucht wird, eine Verbindung basierend auf einem einzelnen Index herzustellen.
Antwort:
Um die gewünschte Drei-Wege-Verknüpfung zu erreichen, können Sie die Funktools verwenden. Reduzierfunktion, die eine sequentielle Reduzierung der Datenrahmen ermöglicht. So können Sie es machen:
import functools as ft dfs = [df0, df1, df2, ..., dfN] # List of dataframes df_final = ft.reduce(lambda left, right: pd.merge(left, right, on='name'), dfs)
Mit diesem Ansatz können Sie eine beliebige Anzahl von Datenrahmen basierend auf einer gemeinsamen Spalte zusammenführen, in Ihrem Fall beispielsweise „Name“. Die Funktion „reduce()“ wendet die Funktion „pandas merge()“ iterativ auf die Datenrahmen in der Liste an, was zu einem einzelnen Datenrahmen namens „df_final“ führt, der alle zusammengeführten Attributdaten enthält.
Das obige ist der detaillierte Inhalt vonWie führt man eine Drei-Wege-Verbindung von Pandas-DataFrames basierend auf einer einzelnen Spalte durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!