Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man das kartesische Produkt zweier Pandas-DataFrames?

Wie berechnet man das kartesische Produkt zweier Pandas-DataFrames?

Barbara Streisand
Barbara StreisandOriginal
2024-12-09 06:37:09535Durchsuche

How to Calculate the Cartesian Product of Two Pandas DataFrames?

Kartesisches Produkt in Pandas

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!

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