Tratarea duplicatelor
În exercițiul anterior, ai putut verifica că noua actualizare care alimentează ride_sharing conține un bug ce generează atât rânduri duplicate complete, cât și incomplete pentru anumite valori ale coloanei ride_id, cu valori ocazional diferite pentru coloanele user_birth_year și duration.
În acest exercițiu, vei trata aceste rânduri duplicate: mai întâi vei elimina duplicatele complete, apoi vei combina rândurile duplicate incomplete într-unul singur, păstrând media duration și valoarea minimă a user_birth_year pentru fiecare set de rânduri duplicate incomplete.
Acest exercițiu face parte din cursul
Curățarea datelor în Python
Instrucțiuni pentru exercițiu
- Elimină duplicatele complete din
ride_sharingși stochează rezultatele înride_dup. - Creează dicționarul
statistics, care conține agregarea minimă pentruuser_birth_yearși agregarea mean pentruduration. - Elimină duplicatele incomplete grupând după
ride_idși aplicând agregarea dinstatistics. - Caută din nou duplicate și rulează instrucțiunea
assertpentru a verifica eliminarea duplicatelor.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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