Ošetření duplicit
V předchozím cvičení jsi ověřil/a, že nová aktualizace přidávaná do ride_sharing obsahuje chybu, která pro některé hodnoty sloupce ride_id generuje jak kompletní, tak nekompletní duplicitní řádky – s občasnými rozdíly v hodnotách sloupců user_birth_year a duration.
V tomto cvičení se těchto duplicitních řádků zbavíš: nejprve odstraníš kompletní duplicity a poté sloučíš nekompletní duplicitní řádky do jednoho, přičemž pro každou skupinu nekompletních duplicit zachováš průměrnou hodnotu duration a minimální hodnotu user_birth_year.
Toto cvičení je součástí kurzu
Čištění dat v Pythonu
Pokyny k cvičení
- Odstraň kompletní duplicity z
ride_sharinga výsledek ulož doride_dup. - Vytvoř slovník
statistics, který definuje agregaci minimum prouser_birth_yeara agregaci mean (průměr) produration. - Odstraň nekompletní duplicity tak, že data seskupíš podle
ride_ida použiješ agregaci ze slovníkustatistics. - Znovu vyhledej duplicity a spusť příkaz
assert, který ověří, že de-duplikace proběhla správně.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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