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 de ejercicio
- Elimina los duplicados completos en
ride_sharing
y almacena los resultados enride_dup
. - Crea el diccionario
statistics
que contiene la agregación mínima deuser_birth_year
y la agregación media paraduration
. - Elimina los duplicados incompletos agrupando por
ride_id
y aplicando la agregación enstatistics
. - Vuelve a encontrar duplicados y ejecuta la instrucción
assert
para verificar la desduplicación.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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