Aan de slagBegin gratis

Pivots & joinen

Een samengesteld veld kunnen exploderen en pivots maken is top, maar dan houd je een dataframe over met alleen die gepivotte waarden. Om er echt iets aan te hebben, moet je het opnieuw joinen met de oorspronkelijke gegevensset! Na het joinen krijgen we veel NULL-waarden in de nieuw gemaakte kolommen. Omdat we weten hoe ze zijn ontstaan, kunnen we die veilig met nul opvullen: het nieuwe item heeft het kenmerk of niet.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Pivot de waarden van ex_garage_list door te groeperen op record-id NO met groupBy(). Gebruik de gegeven code om constant_val te aggregeren, zodat nulls worden genegeerd en de eerste waarde wordt genomen.
  • Voer een left join uit van piv_df op df met NO als joinvoorwaarde.
  • Maak de lijst met kolommen, zfill_cols, die je met nullen wilt opvullen, door de eigenschap columns op piv_df te gebruiken.
  • Vul de kolommen van het gepivotte dataframe, zfill_cols, met nullen door fillna() te gebruiken met een subset.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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=____)
Code bewerken en uitvoeren