Inizia subitoInizia gratis

Pivot e Join

Saper esplodere e fare il pivot di un campo composto è utile, ma così ottieni un dataframe con solo quei valori pivotati. Per renderlo davvero utile, dovrai eseguire un join con il dataset originale! Dopo il join avremo molti valori NULL nelle nuove colonne: dato il contesto in cui sono state create, possiamo tranquillamente sostituirli con zero, perché o il nuovo elemento ha un attributo oppure no.

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Fai il pivot dei valori di ex_garage_list raggruppando per l'id del record NO con groupBy(); usa il codice fornito per aggregare constant_val in modo da ignorare i null e prendere il primo valore.
  • Esegui un left join tra piv_df e df usando NO come condizione di join.
  • Crea l'elenco delle colonne, zfill_cols, da riempire con zero usando l'attributo columns su piv_df
  • Riempi con zeri le colonne del dataframe pivotato, zfill_cols, usando fillna() con il parametro subset.

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

from pyspark.sql.functions import coalesce, first

# Pivot 
piv_df = ex_df.____(____).____(____).agg(coalesce(first(____)))

# Join the dataframes together and fill null
joined_df = ____.join(____, on='NO', how=____)

# Columns to zero fill
zfill_cols = ____.____

# Zero fill the pivoted values
zfilled_df = joined_df.____(0, subset=____)
Modifica ed esegui il codice