Comment résoudre les erreurs de chevauchement de colonnes lors de la combinaison de trames de données Pandas avec « join() » ?

Patricia Arquette
Libérer: 2024-10-27 06:07:03
original
214 Les gens l'ont consulté

How to Resolve Column Overlap Errors While Combining Pandas Data Frames with `join()`?

Combinaison de blocs de données Pandas à l'aide de la fusion sur une colonne commune

Lorsque vous travaillez avec des tâches d'analyse de données, il est souvent nécessaire de combiner des données provenant de plusieurs sources en un seul bloc de données . Pandas fournit plusieurs méthodes pour effectuer des jointures de blocs de données, dont merge() qui nous permet de combiner des blocs de données basés sur des colonnes communes.

Supposons que nous ayons deux blocs de données :

restaurant_ids_dataframe :

Column Name Data Type
business_id int
categories object
city object
full_address object
latitude float
longitude float
name object
neighborhoods object
open bool
review_count int
stars float
state object
type object

restaurant_review_frame :

Column Name Data Type
business_id int
date object
review_id int
stars float
text object
type object
user_id int
votes int

L'objectif est de combiner ces trames de données en une seule trame de données à l'aide du DataFrame.join () méthode. Nous nous attendons généralement à ce que la jointure soit effectuée sur la colonne commune business_id. Cependant, lorsque nous essayons la ligne de code suivante :

restaurant_review_frame.join(other=restaurant_ids_dataframe, on='business_id', how='left')
Copier après la connexion

nous recevons une erreur :

Exception: columns overlap: Index([business_id, stars, type], dtype=object)
Copier après la connexion

Pour résoudre ce problème, nous devons plutôt utiliser la méthode merge(), en spécifiant le colonne commune dans le paramètre on. La méthode merge() est conçue pour gérer les colonnes qui se chevauchent et combiner les blocs de données en conséquence. La syntaxe serait :

<code class="python">import pandas as pd
pd.merge(restaurant_ids_dataframe, restaurant_review_frame, on='business_id', how='outer')</code>
Copier après la connexion

Ici, le paramètre how définit le type de jointure à effectuer. Dans ce cas, nous avons utilisé external, qui effectue une jointure externe complète, combinant toutes les lignes des deux blocs de données.

De plus, nous pouvons spécifier les suffixes pour les colonnes fusionnées à l'aide du paramètre suffixes, nous permettant de personnaliser les noms de colonnes dans le bloc de données résultant. Par exemple, pour suffixer les colonnes comme star_restaurant_id et star_restaurant_review, nous pouvons utiliser :

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

La méthode merge() offre un ensemble complet de paramètres qui fournissent un contrôle précis sur l'opération de jointure, permettant une opération de jointure efficace et combinaisons précises de trames de données.

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!

source:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!