Les relier entre eux !
Dans la dernière leçon, vous avez terminé l'essentiel du travail pour relier restaurants
et restaurants_new
. Vous avez généré les différentes paires de lignes potentiellement correspondantes, recherché les correspondances exactes entre les colonnes « cuisine_type
» et « city
», mais comparé les chaînes similaires dans la colonne « rest_name
». Vous avez enregistré le DataFrame contenant les scores dans l'potential_matches
.
Il est maintenant temps de relier les deux DataFrames. Pour ce faire, veuillez commencer par extraire tous les indices de ligne de restaurants_new
qui correspondent aux colonnes mentionnées ci-dessus à partir de potential_matches
. Ensuite, vous allez sous-diviser restaurants_new
sur ces indices, puis concaténer les valeurs non dupliquées avec restaurants
. Tous les DataFrames se trouvent dans votre environnement, aux côtés d'pandas
, importé sous le nom pd
.
Cet exercice fait partie du cours
Nettoyage des données dans Python
Instructions
- Isolez les instances d'
potential_matches
s où la somme des lignes est supérieure ou égale à 3 à l'aide de la méthode.sum()
. - Extrayez l'index de la deuxième colonne de
matches
, qui représente les index des lignes de l'enregistrement correspondant derestaurants_new
à l'aide de la méthode.get_level_values()
. restaurants_new
t d'un sous-ensemble pour les lignes qui ne sont pas dansmatching_indices
.- Veuillez concaténer
restaurants
etnon_dup
.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Isolate potential matches with row sum >=3
matches = ____[____.___(____) >= ____]
# Get values of second column index of matches
matching_indices = matches.____.____(____)
# Subset restaurants_new based on non-duplicate values
non_dup = ____[~restaurants_new.index.____(____)]
# Concatenate restaurants and non_dup
full_restaurants = pd.____([____, ____])
print(full_restaurants)