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
Patricia Arquetteoriginal
2024-12-24 08:19:13309parcourir

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')

Sortie :

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6

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']]

Sortie :

   col1  col2  col3
0     1     3     5
1     1     3     6
2     2     4     5
3     2     4     6

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:
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