Maison >développement back-end >Tutoriel Python >Comment calculer le produit cartésien de deux DataFrames Pandas ?

Comment calculer le produit cartésien de deux DataFrames Pandas ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 06:37:09526parcourir

How to Calculate the Cartesian Product of Two Pandas DataFrames?

Produit cartésien dans Pandas

Problème :

Obtenir le produit cartésien de deux dataframes Pandas sans définir explicitement il.

Exemple :

import pandas as pd

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

Sortie souhaitée :

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

Solution :

Pour les pandas >= 1.2 :

Utilisation de la fonction de fusion intégrée :

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

Pour Pandas < 1.2 :

Utilisation de la fusion avec une clé répétée :

key_df = pd.DataFrame({'key': [1, 1], 'col1': [1, 2], 'col2': [3, 4]})
merge(key_df, df2, on='key')[['col1', 'col2', 'col3']]

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