Kom igångKom igång gratis

Kontrollera felaktiga join-operationer

Join-operationer kan misslyckas utan att ge felmeddelanden – de returnerar i stället förvrängd data med fler eller färre rader än du avsett. Låt oss titta på ett par sätt som felaktiga join-operationer kan försämra din datamängd.

I det här exemplet undersöker vi vad som händer när du slår samman två dataramar vars join-nycklar har olika precision, och jämför antalet poster mellan den korrekta och den felaktiga join-operationen.

Den här övningen är en del av kursen

Feature Engineering med PySpark

Visa kurs

Övningsinstruktioner

  • Skapa en join mellan df_orig, dataramen innan dess precision korrigerades, och walk_df, som matchar på longitude och latitude i respektive dataramar.
  • Räkna antalet saknade värden med where() och isNull()df['walkscore'] och correct_join['walkscore']. Du bör lägga märke till att det finns många saknade värden eftersom datatyperna och precisionen inte stämmer överens.
  • Skapa en join mellan df och walk_df som bara matchar på longitude.
  • Räkna antalet poster med count(): few_keys_df och correct_join_df. Du bör notera att det finns betydligt fler värden eftersom vi inte har begränsat matchningen tillräckligt.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____.____()))
Redigera och kör kod