Gestire i duplicati
Nell'ultimo esercizio, hai verificato che il nuovo aggiornamento che alimenta ride_sharing contiene un bug che genera righe duplicate sia complete sia incomplete per alcuni valori della colonna ride_id, con occasionali discrepanze nelle colonne user_birth_year e duration.
In questo esercizio, gestirai quelle righe duplicate eliminando prima i duplicati completi e poi unendo le righe duplicate incomplete in una sola, mantenendo la duration media e il user_birth_year minimo per ciascun insieme di duplicati incompleti.
Questo esercizio fa parte del corso
Pulizia dei dati in Python
Istruzioni dell'esercizio
- Elimina i duplicati completi in
ride_sharinge salva i risultati inride_dup. - Crea il dizionario
statisticsche contenga l'aggregazione minima peruser_birth_yeare mean perduration. - Elimina i duplicati incompleti raggruppando per
ride_ide applicando le aggregazioni instatistics. - Trova di nuovo i duplicati ed esegui l'istruzione
assertper verificare la de-duplicazione.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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