Inizia subitoInizia gratis

Verificare Join errati

Le join possono dare risultati sbagliati senza generare errori, restituendo dati confusi con più o meno record di quanto previsto. Vediamo un paio di modi in cui una join impostata male può peggiorare il tuo insieme di dati.

In questo esempio vedremo cosa succede se unisci due dataframe quando le chiavi di join non hanno la stessa precisione e confronteremo il numero di record tra la join corretta e quella errata.

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Crea una join tra df_orig, il dataframe prima che la sua precisione fosse corretta, e walk_df che corrisponda su longitude e latitude nei rispettivi dataframe.
  • Conta il numero di valori mancanti con where() e isNull() su df['walkscore'] e correct_join['walkscore']. Dovresti notare molti valori mancanti perché i nostri tipi di dato e la precisione non corrispondono.
  • Crea una join tra df e walk_df che corrisponda solo su longitude.
  • Conta il numero di record con count(): few_keys_df e correct_join_df. Dovresti notare molti più valori perché non abbiamo vincolato correttamente il matching.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

# 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(____.____()))
Modifica ed esegui il codice