Устранение дубликатов
В предыдущем упражнении вы убедились, что новое обновление, поступающее в ride_sharing, содержит ошибку: для некоторых значений столбца ride_id генерируются как полные, так и неполные дублирующиеся строки, а значения в столбцах user_birth_year и duration иногда расходятся.
В этом упражнении вы устраните дубликаты: сначала удалите полные, а затем объедините неполные дублирующиеся строки в одну — сохранив среднее значение duration и минимальное значение user_birth_year для каждого набора неполных дубликатов.
Это упражнение является частью курса
Очистка данных в Python
Инструкции к упражнению
- Удалите полные дубликаты из
ride_sharingи сохраните результат вride_dup. - Создайте словарь
statistics, в котором задана агрегация min (минимум) дляuser_birth_yearи mean (среднее) дляduration. - Удалите неполные дубликаты, сгруппировав данные по
ride_idи применив агрегацию из словаряstatistics. - Найдите дубликаты повторно и выполните оператор
assert, чтобы проверить результат дедупликации.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# 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