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 do exercício
- Elimine as duplicatas completas em
ride_sharinge armazene os resultados emride_dup. - Crie o dicionário
statisticsque contém a agregação mínimaparauser_birth_yeare a agregação média paraduration. - Elimine as duplicatas incompletas agrupando-as por
ride_ide aplicando a agregação emstatistics. - Encontre duplicatas novamente e execute a instrução
assertpara verificar a desduplicação.
Exercício interativo prático
Experimente este exercício completando 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