Les relier ensemble !
Dans la dernière leçon, vous avez accompli l’essentiel du travail pour lier restaurants et restaurants_new. Vous avez généré différents jumelages de lignes potentiellement correspondantes, cherché des correspondances exactes entre les colonnes cuisine_type et city, et comparé les chaînes similaires dans la colonne rest_name. Vous avez stocké le DataFrame contenant les scores dans potential_matches.
Il est maintenant temps de lier les deux DataFrames. Pour ce faire, vous allez d’abord extraire de potential_matches tous les indices de lignes de restaurants_new qui correspondent selon les colonnes mentionnées ci-dessus. Ensuite, vous allez filtrer restaurants_new avec ces indices, puis concaténer les valeurs non dupliquées avec restaurants. Tous les DataFrames sont déjà dans votre environnement, et pandas est importé sous le nom pd.
Cette activité fait partie du cours
Nettoyage des données en Python
Instructions de l’exercice
- Isolez les instances de
potential_matchesoù la somme par ligne est supérieure ou égale à 3 en utilisant la méthode.sum(). - Extrayez le deuxième niveau d’index de colonnes à partir de
matches, qui représente les indices de lignes correspondantes provenant derestaurants_new, à l’aide de la méthode.get_level_values(). - Filtrez
restaurants_newpour conserver les lignes qui ne sont pas dansmatching_indices. - Concaténez
restaurantsetnon_dup.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)