MulaiMulai sekarang secara gratis

Menangani duplikasi

Pada latihan sebelumnya, Anda telah memverifikasi bahwa pembaruan baru yang mengalir ke ride_sharing mengandung bug yang menghasilkan baris duplikat lengkap dan tidak lengkap untuk beberapa nilai kolom ride_id, dengan sesekali terdapat nilai yang berbeda pada kolom user_birth_year dan duration.

Pada latihan ini, Anda akan menangani baris-baris duplikat tersebut dengan terlebih dahulu menghapus duplikat lengkap, lalu menggabungkan baris duplikat tidak lengkap menjadi satu sambil mempertahankan nilai rata-rata duration, dan nilai minimum user_birth_year untuk setiap kumpulan baris duplikat tidak lengkap.

Latihan ini adalah bagian dari kursus

Membersihkan Data di Python

Lihat Kursus

Petunjuk latihan

  • Hapus duplikat lengkap di ride_sharing dan simpan hasilnya ke ride_dup.
  • Buat kamus statistics yang memuat agregasi minimum untuk user_birth_year dan agregasi mean untuk duration.
  • Hapus duplikat tidak lengkap dengan melakukan pengelompokan berdasarkan ride_id dan menerapkan agregasi dalam statistics.
  • Temukan duplikat kembali dan jalankan pernyataan assert untuk memverifikasi proses de-duplikasi.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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
Edit dan Jalankan Kode