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')
nous recevons une erreur :
Exception: columns overlap: Index([business_id, stars, type], dtype=object)
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>
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>
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!