Relier les données !
Dans la dernière leçon, vous avez achevé l'essentiel du travail visant à 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 potential_matches.
Il est maintenant temps de relier les deux DataFrames. Pour ce faire, veuillez d'abord extraire tous les indices de ligne de restaurants_new qui correspondent aux colonnes mentionnées ci-dessus à partir de potential_matches. Ensuite, vous effectuerez un sous-ensemble restaurants_new sur ces indices, puis vous concaténerez les valeurs non dupliquées avec restaurants. Tous les DataFrame se trouvent dans votre environnement, aux côtés de pandas, importé sous le nom pd.
Cet exercice fait partie du cours
Nettoyage des données en Python
Instructions
- Isolez les instances de
potential_matchesoù 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 des enregistrements correspondants derestaurants_newen utilisant la méthode.get_level_values(). - Sous-ensemble
restaurants_newpour les lignes qui ne sont pas dansmatching_indices. - Concaténez
restaurantsetnon_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)