ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Pivotează valorile din ex_garage_list grupând după id-ul înregistrării NO cu groupBy(); folosește codul furnizat pentru a agrega constant_val, ignorând valorile nule și păstrând prima valoare.
  • Realizează un left join între piv_df și df folosind NO ca și condiție de join.
  • Creează lista de coloane, zfill_cols, care vor fi umplute cu zero, folosind atributul columns pe piv_df.
  • Umple cu zero coloanele DataFrame-ului pivotat, zfill_cols, folosind fillna() cu un subset.

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=____)
Editează și rulează codul