LoslegenKostenlos starten

Pivot & Join

Ein zusammengesetztes Feld zu explodieren und zu pivotieren ist super, aber danach hast du nur noch einen DataFrame mit den pivotierten Werten. Richtig wertvoll wird es, wenn du ihn wieder mit dem ursprünglichen Datensatz verknüpfst! Nach dem Join der Datensätze werden wir viele NULL‑Werte in den neu erzeugten Spalten haben. Da wir den Entstehungskontext kennen, können wir sie gefahrlos mit Null auffüllen – entweder hat der neue Eintrag ein Attribut oder eben nicht.

Diese Übung ist Teil des Kurses

<Kurs>Feature Engineering mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Pivotiere die Werte von ex_garage_list, indem du mit groupBy() nach der Datensatz‑ID NO gruppierst; nutze den bereitgestellten Code, um constant_val zu aggregieren, Nulls zu ignorieren und den ersten Wert zu nehmen.
  • Führe einen Left Join von piv_df mit df durch und verwende NO als Join‑Bedingung.
  • Erstelle die Liste der Spalten zfill_cols, die mit Nullen aufgefüllt werden sollen, indem du das Attribut columns von piv_df verwendest.
  • Fülle die Spalten des pivotierten DataFrames, zfill_cols, mit Nullen auf, indem du fillna() mit einem subset verwendest.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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 bearbeiten und ausführen