Začněte nyníZačněte zdarma

Kontrola chybných joinů

Joiny mohou tiše selhat – bez chybové hlášky, ale s poškozenými daty, která obsahují více nebo méně záznamů, než jsi zamýšlel/a. Pojďme se podívat na pár situací, kdy nesprávné spojení tabulek může data znehodnotit.

V tomto příkladu uvidíš, co se stane, když spojíš dva dataframy s klíči různé přesnosti, a porovnáš počty záznamů mezi správným a nesprávným joinem.

Toto cvičení je součástí kurzu

Feature Engineering with PySpark

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř join mezi df_orig, tedy dataframem před opravou přesnosti, a walk_df – spoj je podle sloupců longitude a latitude v příslušných dataframech.
  • Spočítej chybějící hodnoty pomocí where() a isNull() na df['walkscore'] a correct_join['walkscore']. Všimni si, že chybějících hodnot je hodně, protože datové typy a přesnost se neshodují.
  • Vytvoř join mezi df a walk_df, který páruje záznamy pouze podle longitude.
  • Spočítej záznamy pomocí count() pro few_keys_df a correct_join_df. Všimni si, že výsledků je výrazně více, protože podmínky párování nejsou dostatečně omezující.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____.____()))
Upravit a spustit kód