Kom igångKom igång gratis

Pivotera och sammanfoga

Att kunna expandera och pivotera ett sammansatt fält är användbart, men resultatet är en dataram som bara innehåller de pivoterade värdena. För att det ska bli riktigt värdefullt behöver du sammanfoga det med den ursprungliga datamängden! Efter sammanfogningen kommer många av de nya kolumnerna att innehålla NULL-värden – men eftersom vi känner till hur de skapades kan vi tryggt fylla dem med noll, eftersom ett nytt värde antingen har ett attribut eller inte.

Den här övningen är en del av kursen

Feature Engineering med PySpark

Visa kurs

Övningsinstruktioner

  • Pivotera värdena i ex_garage_list genom att gruppera på post-id:t NO med groupBy(). Använd den angivna koden för att aggregera constant_val så att null-värden ignoreras och det första värdet väljs.
  • Gör en vänstersammanfogning av piv_df med df och använd NO som sammanfogningsvillkor.
  • Skapa listan med kolumner, zfill_cols, som ska fyllas med nollor genom att använda attributet columnspiv_df.
  • Fyll de pivoterade kolumnerna, zfill_cols, med nollor genom att använda fillna() med en subset.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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=____)
Redigera och kör kod