Pivot & Join
Umět rozložit a pivotovat složené pole je skvělé, ale zůstaneš s dataframem obsahujícím pouze pivotované hodnoty. Aby to bylo skutečně užitečné, budeš je muset zpětně spojit s původním datasetem! Po spojení datasetů bude mít hodně NULL hodnot v nově vytvořených sloupcích – protože víme, jak vznikly, můžeme je bezpečně nahradit nulou: daný atribut buď existuje, nebo ne.
Toto cvičení je součástí kurzu
Feature Engineering with PySpark
Pokyny k cvičení
- Pivotuj hodnoty
ex_garage_listtak, že je seskupíš podle identifikátoru záznamuNOpomocígroupBy()– k agregaciconstant_valpoužij připravený kód, který ignoruje prázdné hodnoty a bere první dostupnou. - Připoj
piv_dfkdflevým joinem s podmínkouNO. - Vytvoř seznam sloupců
zfill_colspro doplnění nul pomocí atributucolumnsnapiv_df. - Doplň nuly do sloupců pivotovaného dataframu
zfill_colspomocífillna()s parametremsubset.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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=____)