Xử lý dữ liệu trùng lặp
Ở bài trước, bạn đã xác nhận rằng bản cập nhật mới đổ vào ride_sharing có một lỗi tạo ra cả các hàng trùng lặp hoàn toàn lẫn không hoàn toàn cho một số giá trị ở cột ride_id, và đôi khi có giá trị lệch ở các cột user_birth_year và duration.
Trong bài này, bạn sẽ xử lý các hàng trùng lặp đó bằng cách trước hết loại bỏ các bản trùng lặp hoàn toàn, sau đó gộp các hàng trùng lặp không hoàn toàn thành một hàng, đồng thời giữ duration trung bình và user_birth_year nhỏ nhất cho mỗi nhóm hàng trùng lặp không hoàn toàn.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu với Python
Hướng dẫn bài tập
- Loại bỏ các bản trùng lặp hoàn toàn trong
ride_sharingvà lưu kết quả vàoride_dup. - Tạo từ điển
statisticschứa phép tổng hợp min chouser_birth_yearvà mean choduration. - Loại bỏ các bản trùng lặp không hoàn toàn bằng cách group theo
ride_idvà áp dụng phép tổng hợp trongstatistics. - Tìm trùng lặp lần nữa và chạy câu lệnh
assertđể xác thực việc khử trùng lặp.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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