MulaiMulai sekarang secara gratis

Memeriksa Join yang Buruk

Join dapat bermasalah secara diam-diam jika kita tidak berhati-hati; artinya, tidak akan menimbulkan error tetapi justru mengembalikan data yang berantakan dengan jumlah data lebih banyak atau lebih sedikit daripada yang Anda maksud. Mari kita lihat beberapa cara join yang tidak tepat dapat merusak himpunan data Anda.

Dalam contoh ini, kita akan melihat apa yang terjadi jika Anda menggabungkan dua dataframe ketika kunci join memiliki presisi yang berbeda, lalu membandingkan jumlah rekaman antara join yang benar dan yang salah.

Latihan ini adalah bagian dari kursus

Rekayasa Fitur dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Buat join antara df_orig, dataframe sebelum presisinya dikoreksi, dan walk_df yang dicocokkan pada longitude dan latitude di masing-masing dataframe.
  • Hitung jumlah nilai hilang dengan where() isNull() pada df['walkscore'] dan correct_join['walkscore']. Anda akan melihat banyak nilai hilang karena tipe data dan presisi kita tidak cocok.
  • Buat join antara df dan walk_df yang hanya mencocokkan longitude.
  • Hitung jumlah rekaman dengan count(): few_keys_df dan correct_join_df. Anda akan melihat ada jauh lebih banyak nilai karena kita tidak membatasi pencocokan dengan benar.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Join on mismatched keys precision 
wrong_prec_cond = [____ == ____, ____ == ____]
wrong_prec_df = ____.join(____, on=wrong_prec_cond, how='left')

# Compare bad join to the correct one
print(wrong_prec_df.____(____.____()).count())
print(correct_join_df.____(____.____).count())

# Create a join on too few keys
few_keys_cond = [____ == ____]
few_keys_df = ____.join(____, on=few_keys_cond, how='left')

# Compare bad join to the correct one
print("Record Count of the Too Few Keys Join Example: " + str(____.____()))
print("Record Count of the Correct Join Example: " + str(____.____()))
Edit dan Jalankan Kode