Mulai sekarangMulai 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 merupakan bagian dari kursus

Rekayasa Fitur dengan PySpark

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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