Heim >Backend-Entwicklung >Python-Tutorial >Wie erstellt man effizient ein kartesisches Produkt von Pandas DataFrames?

Wie erstellt man effizient ein kartesisches Produkt von Pandas DataFrames?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-11 17:59:15977Durchsuche

How to Efficiently Create a Cartesian Product of Pandas DataFrames?

Kartesisches Produkt in Pandas: Best Practices und Lösungen

Bei der Arbeit mit Pandas-Datenrahmen ist es oft notwendig, das kartesische Produkt aus zwei oder mehr Datenrahmen zu erstellen. Dies kann eine nützliche Operation sein, um Daten aus mehreren Quellen zu kombinieren oder die Beziehungen zwischen verschiedenen Variablen zu untersuchen.

Die Cross-Merge-Methode

In neueren Versionen von Pandas (>= 1.2) ist das Kreuz Die Merge-Methode bietet eine praktische Möglichkeit, das kartesische Produkt zweier Datenrahmen zu berechnen. Um diese Methode zu verwenden, rufen Sie einfach die Merge-Funktion mit dem Argument how='cross' auf:

import pandas as pd

df1 = pd.DataFrame({'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame({'col3': [5, 6]})

df_cartesian = pd.merge(df1, df2, how='cross')

Der resultierende Datenrahmen, df_cartesian, enthält alle Kombinationen von Zeilen aus df1 und df2, was zu einem kartesischen Produkt führt .

Verwendung wiederholter Tasten beim Zusammenführen

Für Versionen von Pandas vor 1.2 ist es Es war notwendig, einen etwas anderen Ansatz zu verwenden, um das kartesische Produkt zu erstellen. Dieser Ansatz umfasste die Verwendung wiederholter Schlüssel in einem der Datenrahmen und die anschließende Zusammenführung dieser Schlüssel:

df1 = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]})
df2 = pd.DataFrame({'key': [1, 1], 'col3': [5, 6]})

df_cartesian = pd.merge(df1, df2, on='key')[['col1', 'col2', 'col3']]

Durch die Erstellung eines Schlüssels, der für jede Zeile in beiden Datenrahmen wiederholt wird, können wir durch Zusammenführung effektiv ein kartesisches Produkt erstellen auf diesem Schlüssel.

Fazit

Ob Sie Pandas >= 1.2 oder eine frühere Version verwenden, die Methoden Die oben beschriebenen Methoden bieten effiziente Möglichkeiten zum Erstellen des kartesischen Produkts aus zwei oder mehr Datenrahmen. Abhängig von der spezifischen Version von Pandas, die Sie verwenden, kann ein Ansatz bequemer oder effizienter sein als der andere.

Das obige ist der detaillierte Inhalt vonWie erstellt man effizient ein kartesisches Produkt von 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