Оброблення дублікатів
У попередній вправі ви перевірили, що нове оновлення, яке надходить у 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