Heim > Backend-Entwicklung > Python-Tutorial > Wie führe ich ein kartesisches Produkt von DataFrames in Pandas durch?

Wie führe ich ein kartesisches Produkt von DataFrames in Pandas durch?

Patricia Arquette
Freigeben: 2024-12-24 08:19:13
Original
305 Leute haben es durchsucht

How to Perform a Cartesian Product of DataFrames in Pandas?

Kartesisches Produkt in Pandas

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')
Nach dem Login kopieren

Ausgabe:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Nach dem Login kopieren
Nach dem Login kopieren

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']]
Nach dem Login kopieren

Ausgabe:

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Nach dem Login kopieren
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage