BaşlayınÜcretsiz başlayın

Hatalı Join’leri Kontrol Etme

Dikkatli olmazsak join’ler sessizce bozulabilir; yani hata vermezler ama beklediğinden daha az ya da daha çok, hatta karışmış veri döndürebilirler. Yanlış join’in veri kümeni nasıl kötü etkileyebileceğine dair birkaç örneğe bakalım.

Bu örnekte, join anahtarlarının hassasiyetleri (precision) aynı değilken iki dataframe’i birleştirirsen ne olduğuna bakacağız ve doğru join ile yanlış join arasındaki kayıt sayılarını karşılaştıracağız.

Bu egzersiz, kursun bir parçasıdır

PySpark ile Özellik Mühendisliği

Kursa Göz Atın

Egzersiz talimatları

  • Hassasiyeti düzeltilmeden önceki dataframe olan df_orig ile walk_df arasında, ilgili dataframelerdeki longitude ve latitude sütunlarına göre eşleşen bir join oluştur.
  • df['walkscore'] ve correct_join['walkscore'] üzerinde where() isNull() kullanarak kaç tane eksik değer olduğunu say. Veri tiplerimiz ve hassasiyetlerimiz uyuşmadığı için çok sayıda eksik değer olduğunu fark etmelisin.
  • Yalnızca longitude üzerine eşleşecek şekilde df ile walk_df arasında bir join oluştur.
  • few_keys_df ve correct_join_df için count() ile kayıt sayılarını say. Eşleşmeyi doğru şekilde kısıtlamadığımız için çok daha fazla değer olduğunu fark etmelisin.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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(____.____()))
Kodu Düzenle ve Çalıştır