Tratamento de duplicatas
No último exercício, você conseguiu verificar que a nova atualização que alimenta ride_sharing
contém um bug que gera linhas duplicadas completas e incompletas para alguns valores da coluna ride_id
, com valores discrepantes ocasionais para as colunas user_birth_year
e duration
.
Neste exercício, você tratará essas linhas duplicadas, primeiro eliminando as duplicatas completas e, em seguida, mesclando as linhas duplicadas incompletas em uma só, mantendo a duration
média e o user_birth_year
mínimo para cada conjunto de linhas duplicadas incompletas.
Este exercício faz parte do curso
Limpeza de dados em Python
Instruções de exercício
- Elimine as duplicatas completas em
ride_sharing
e armazene os resultados emride_dup
. - Crie o dicionário
statistics
que contém a agregação mínimaparauser_birth_year
e a agregação média paraduration
. - Elimine as duplicatas incompletas agrupando-as por
ride_id
e aplicando a agregação emstatistics
. - Encontre duplicatas novamente e execute a instrução
assert
para verificar a desduplicação.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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