Pivot și Join
Capacitatea de a extinde și pivota un câmp compus este utilă, dar vei rămâne cu un DataFrame care conține doar valorile pivotate. Pentru ca acesta să fie cu adevărat valoros, va trebui să îl reunești cu setul de date original! După ce reunești setele de date, vei obține multe valori NULL în coloanele nou create – știind însă contextul în care au fost generate, le poți înlocui în siguranță cu zero, deoarece o înregistrare fie are un atribut, fie nu îl are.
Acest exercițiu face parte din cursul
Feature Engineering cu PySpark
Instrucțiuni pentru exercițiu
- Pivotează valorile din
ex_garage_listgrupând după id-ul înregistrăriiNOcugroupBy(); folosește codul furnizat pentru a agregaconstant_val, ignorând valorile nule și păstrând prima valoare. - Realizează un left join între
piv_dfșidffolosindNOca și condiție de join. - Creează lista de coloane,
zfill_cols, care vor fi umplute cu zero, folosind atributulcolumnspepiv_df. - Umple cu zero coloanele DataFrame-ului pivotat,
zfill_cols, folosindfillna()cu unsubset.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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=____)