Maison > développement back-end > Tutoriel Python > Comment réaliser un produit cartésien de DataFrames dans Pandas ?

Comment réaliser un produit cartésien de DataFrames dans Pandas ?

Patricia Arquette
Libérer: 2024-12-24 08:19:13
original
392 Les gens l'ont consulté

How to Perform a Cartesian Product of DataFrames in Pandas?

Produit cartésien dans Pandas

Dans les tâches de manipulation de données, il est souvent nécessaire de combiner des lignes de plusieurs trames de données en une seule trame de données. Une façon d'y parvenir consiste à effectuer un produit cartésien, qui génère toutes les combinaisons possibles de lignes à partir des trames de données d'entrée.

Pour les versions Pandas >= 1.2, la fonction de fusion fournit une méthode intégrée pour le produit cartésien. calculs. Le code suivant démontre son utilisation :

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

df1.merge(df2, how='cross')
Copier après la connexion

Sortie :

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Copier après la connexion
Copier après la connexion

Pour les versions Pandas < 1.2, une approche alternative utilisant la fonction de fusion est disponible. Dans cette méthode, une clé commune est ajoutée à chaque dataframe pour faciliter la jointure :

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']]
Copier après la connexion

Sortie :

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6
Copier après la connexion
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal