Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man mehrere DataFrames in Python effizient zusammenführen?
Das Zusammenführen mehrerer Datenrahmen kann komplex und frustrierend sein, insbesondere wenn die Anzahl der Datenrahmen zunimmt. Obwohl es möglich ist, verschachtelte Zusammenführungsfunktionen zu verwenden, wird dieser Ansatz unüberschaubar und fehleranfällig.
Für eine elegantere und effizientere Möglichkeit, mehrere Datenrahmen zusammenzuführen, ziehen Sie die folgende Lösung in Betracht:
import pandas as pd from functools import reduce # Initialize a list of dataframes dfs = [df1, df2, df3] # Merge the dataframes using the reduce function df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
Diese Lösung nutzt die Reduce-Funktion des Functools-Moduls, um die Datenrahmen iterativ zusammenzuführen. Die Lambda-Funktion definiert den Zusammenführungsvorgang, indem sie die angegebene Spalte zum Zusammenführen ('DATE') und die 'äußere' Zusammenführungsmethode verwendet, um alle Zeilen beizubehalten.
Sauber und verständlich : Diese Lösung bietet einen klaren und prägnanten Ansatz zum Zusammenführen mehrerer Datenrahmen und macht eine komplexe verschachtelte Zusammenführung überflüssig Funktionen.
Mehrere Datenrahmen effektiv verarbeiten: Diese Lösung kann eine beliebige Anzahl von Datenrahmen verarbeiten, wodurch sie skalierbar und praktisch ist.
Bedenken Sie Folgendes Datenrahmen:
df_1: May 19, 2017;1,200.00;0.1% May 18, 2017;1,100.00;0.1% May 17, 2017;1,000.00;0.1% May 15, 2017;1,901.00;0.1% df_2: May 20, 2017;2,200.00;1000000;0.2% May 18, 2017;2,100.00;1590000;0.2% May 16, 2017;2,000.00;1230000;0.2% May 15, 2017;2,902.00;1000000;0.2% df_3: May 21, 2017;3,200.00;2000000;0.3% May 17, 2017;3,100.00;2590000;0.3% May 16, 2017;3,000.00;2230000;0.3% May 15, 2017;3,903.00;2000000;0.3%
Mit der bereitgestellten Lösung können wir diese zusammenführen Datenrahmen:
df_merged = reduce(lambda left, right: pd.merge(left, right, on=['DATE'], how='outer'), dfs)
Ergebnis:
DATE VALUE1 VALUE2 VALUE3 May 15, 2017; 1,901.00;0.1%; 2,902.00;1000000;0.2%; 3,903.00;2000000;0.3%
Das obige ist der detaillierte Inhalt vonWie kann man mehrere DataFrames in Python effizient zusammenführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!