Aan de slagGa gratis aan de slag

Duplicaten behandelen

In de vorige oefening heb je kunnen bevestigen dat de nieuwe update die ride_sharing voedt een bug bevat die zowel volledige als onvolledige dubbele rijen genereert voor sommige waarden in de kolom ride_id, met af en toe afwijkende waarden voor de kolommen user_birth_year en duration.

In deze oefening ga je die dubbele rijen behandelen door eerst volledige duplicaten te verwijderen en vervolgens de onvolledige dubbele rijen samen te voegen tot één rij, waarbij je de gemiddelde duration en de minimale user_birth_year behoudt voor elke set onvolledige dubbele rijen.

Deze oefening maakt deel uit van de cursus

Data opschonen in Python

Cursus bekijken

Oefeninstructies

  • Verwijder volledige duplicaten in ride_sharing en sla de resultaten op in ride_dup.
  • Maak de dictionary statistics die minimale aggregatie voor user_birth_year en mean-aggregatie voor duration bevat.
  • Verwijder onvolledige duplicaten door te groeperen op ride_id en de aggregatie in statistics toe te passen.
  • Zoek opnieuw naar duplicaten en voer de assert-instructie uit om de deduplicatie te verifiëren.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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
Code bewerken en uitvoeren