Traiter les doublons
Dans le dernier exercice, vous avez pu confirmer que la nouvelle mise à jour alimentant ride_sharing contient un bogue qui génère, pour certaines valeurs de la colonne ride_id, des lignes dupliquées complètes et incomplètes, avec à l’occasion des écarts dans les colonnes user_birth_year et duration.
Dans cet exercice, vous allez traiter ces lignes dupliquées en supprimant d’abord les doublons complets, puis en fusionnant les doublons incomplets en une seule ligne tout en conservant la duration moyenne et le user_birth_year minimal pour chaque ensemble de doublons incomplets.
Cette activité fait partie du cours
Nettoyage des données en Python
Instructions de l’exercice
- Supprimez les doublons complets dans
ride_sharinget enregistrez le résultat dansride_dup. - Créez le dictionnaire
statisticsqui contient l’agrégation minimale pouruser_birth_yearet l’agrégation mean pourduration. - Supprimez les doublons incomplets en groupant par
ride_idet en appliquant l’agrégation définie dansstatistics. - Repérez à nouveau les doublons et exécutez l’instruction
assertpour vérifier la déduplication.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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