Traitement des doublons
Dans le dernier exercice, vous avez pu vérifier que la nouvelle mise à jour intégrée à ride_sharing
contient un bug générant des lignes dupliquées complètes et incomplètes pour certaines valeurs de la colonne « ride_id
», avec des valeurs parfois discordantes pour les colonnes « user_birth_year
» et « duration
».
Dans cet exercice, vous allez traiter ces lignes en double en supprimant d'abord les doublons complets, puis en fusionnant les lignes en double incomplètes en une seule tout en conservant la moyenne duration
et le minimum user_birth_year
pour chaque ensemble de lignes en double incomplètes.
Cet exercice fait partie du cours
Nettoyage des données dans Python
Instructions
- Supprimez les doublons complets dans
ride_sharing
et enregistrez les résultats dansride_dup
. - Créez le dictionnaire
statistics
qui contient l'agrégation minimalepouruser_birth_year
et l'agrégation moyenne pourduration
. - Supprimez les doublons incomplets en les regroupant par
ride_id
et en appliquant l'agrégation dansstatistics
. - Recherchez à nouveau les doublons et exécutez l'instruction «
assert
» pour vérifier la suppression des doublons.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Drop complete duplicates from ride_sharing
ride_dup = ____.____()
# Create statistics dictionary for aggregation function
statistics = {'user_birth_year': ____, 'duration': ____}
# Group by ride_id and compute new statistics
ride_unique = ride_dup.____('____').____(____).reset_index()
# Find duplicated values again
duplicates = ride_unique.____(subset = 'ride_id', keep = False)
duplicated_rides = ride_unique[duplicates == True]
# Assert duplicates are processed
assert duplicated_rides.shape[0] == 0