Bei Datenmanipulationsaufgaben ist es oft notwendig, Zeilen aus mehreren Datenrahmen in einem einzigen Datenrahmen zu kombinieren. Eine Möglichkeit, dies zu erreichen, besteht darin, ein kartesisches Produkt durchzuführen, das alle möglichen Kombinationen von Zeilen aus den Eingabedatenrahmen generiert.
Für Pandas-Versionen >= 1.2 bietet die Zusammenführungsfunktion eine integrierte Methode für das kartesische Produkt Berechnungen. Der folgende Code demonstriert seine Verwendung:
import pandas as pd df1 = pd.DataFrame({'col1':[1,2],'col2':[3,4]}) df2 = pd.DataFrame({'col3':[5,6]}) df1.merge(df2, how='cross')
Ausgabe:
col1 col2 col3 0 1 3 5 1 1 3 6 2 2 4 5 3 2 4 6
Für Pandas-Versionen < 1.2 ist ein alternativer Ansatz mit der Merge-Funktion verfügbar. Bei dieser Methode wird jedem Datenrahmen ein gemeinsamer Schlüssel hinzugefügt, um die Verknüpfung zu erleichtern:
import pandas as pd df1 = pd.DataFrame({'key':[1,1], 'col1':[1,2],'col2':[3,4]}) df2 = pd.DataFrame({'key':[1,1], 'col3':[5,6]}) pd.merge(df1, df2,on='key')[['col1', 'col2', 'col3']]
Ausgabe:
col1 col2 col3 0 1 3 5 1 1 3 6 2 2 4 5 3 2 4 6
Das obige ist der detaillierte Inhalt vonWie führe ich ein kartesisches Produkt von DataFrames in Pandas durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!