Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man das kartesische Produkt zweier Pandas-DataFrames?
Problem:
Erhalten Sie das kartesische Produkt zweier Pandas-Datenrahmen ohne explizite Definition it.
Beispiel:
import pandas as pd df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]}) df2 = pd.DataFrame({'col3': [5, 6]})
Gewünschte Ausgabe:
col1 col2 col3 0 1 3 5 1 1 3 6 2 2 4 5 3 2 4 6
Lösung:
Für Pandas >= 1.2:
Verwendung der integrierten Zusammenführungsfunktion:
df1.merge(df2, how='cross')
Für Pandas < 1.2:
Zusammenführen mit einer wiederholten Taste verwenden:
key_df = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]}) merge(key_df, df2, on='key')[['col1', 'col2', 'col3']]
Das obige ist der detaillierte Inhalt vonWie berechnet man das kartesische Produkt zweier Pandas-DataFrames?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!