Tratamiento de duplicados
En el último ejercicio, pudiste comprobar que la nueva actualización que alimenta ride_sharing contiene un error que genera filas duplicadas tanto completas como incompletas para algunos valores de la columna ride_id, con valores discrepantes ocasionales para las columnas user_birth_year y duration.
En este ejercicio, tratarás esas filas duplicadas eliminando primero los duplicados completos y fusionando después las filas duplicadas incompletas en una sola, manteniendo la media de duration, y el mínimo de user_birth_year para cada conjunto de filas duplicadas incompletas.
Este ejercicio forma parte del curso
Limpieza de datos en Python
Instrucciones del ejercicio
- Elimina los duplicados completos en
ride_sharingy almacena los resultados enride_dup. - Crea el diccionario
statisticsque contiene la agregación mínima deuser_birth_yeary la agregación media paraduration. - Elimina los duplicados incompletos agrupando por
ride_idy aplicando la agregación enstatistics. - Vuelve a encontrar duplicados y ejecuta la instrucción
assertpara verificar la desduplicación.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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