Maison  >  Article  >  développement back-end  >  Comment pouvez-vous combiner deux DataFrames Pandas avec des colonnes qui se chevauchent ?

Comment pouvez-vous combiner deux DataFrames Pandas avec des colonnes qui se chevauchent ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-24 19:07:29895parcourir

How Can You Combine Two Pandas DataFrames with Overlapping Columns?

Combiner des trames de données Pandas : rejoindre sur une colonne commune

Joinder est une opération essentielle pour fusionner des trames de données basées sur des attributs communs. Cette question examine le problème de la combinaison de deux trames de données pandas : restaurant_ids_dataframe et restaurant_review_frame.

L'utilisateur tente d'utiliser la méthode DataFrame.join() pour effectuer une jointure gauche à l'aide de la colonne business_id. Cependant, une erreur se produit en raison du chevauchement des colonnes (business_id, stars et type). Pour résoudre ce problème, nous pouvons utiliser la fonction de fusion à la place :

<code class="python">import pandas as pd

pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>

Le paramètre on spécifie le nom du champ utilisé pour la jointure, tandis que le paramètre how définit le type de jointure (externe, interne, gauche ou droite). ). Dans ce cas, external est sélectionné pour une union de clés des deux blocs de données.

Notez que les deux blocs de données contiennent une colonne nommée étoiles. Par défaut, l'opération de fusion ajoute des suffixes aux noms de colonnes (star_x et star_y). Pour personnaliser ces suffixes, nous pouvons utiliser l'argument mot-clé suffixes :

<code class="python">pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer', suffixes=('_restaurant_id', '_restaurant_review'))</code>

Avec cette modification, les colonnes étoiles seront renommées en star_restaurant_id et star_restaurant_review. En tirant parti de la fonction de fusion et en configurant de manière appropriée le type de jointure et les suffixes de colonne, nous pouvons réussir à combiner les deux blocs de données en fonction de leur colonne business_id partagée.

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