Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man mehrere DataFrames in Python effizient zusammenführen?

Wie kann man mehrere DataFrames in Python effizient zusammenführen?

DDD
DDDOriginal
2024-11-29 13:13:09710Durchsuche

How to Efficiently Merge Multiple DataFrames in Python?

So führen Sie mehrere Datenrahmen zusammen

Problem

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.

Lösung

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.

Vorteile

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.

Beispiel

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!

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