Hantera dubbletter
I den förra övningen kunde du verifiera att den nya uppdateringen som matas in i ride_sharing innehåller ett fel som genererar både kompletta och ofullständiga duplicerade rader för vissa värden i kolumnen ride_id, med enstaka avvikande värden i kolumnerna user_birth_year och duration.
I den här övningen ska du hantera de duplicerade raderna genom att först ta bort kompletta dubbletter och sedan slå ihop de ofullständiga dubblettraderna till en rad – där du behåller det genomsnittliga värdet för duration och det lägsta värdet för user_birth_year för varje uppsättning ofullständiga dubbletter.
Den här övningen är en del av kursen
Datarensning i Python
Övningsinstruktioner
- Ta bort kompletta dubbletter i
ride_sharingoch spara resultatet iride_dup. - Skapa ordboken
statisticssom innehåller aggregeringen min föruser_birth_yearoch aggregeringen mean förduration. - Ta bort ofullständiga dubbletter genom att gruppera efter
ride_idoch tillämpa aggregeringen istatistics. - Sök efter dubbletter igen och kör
assert-satsen för att verifiera att dubbletterna har tagits bort.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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