LoslegenKostenlos starten

Joinen über Zeitkomponenten

Oft nutzt du Datumsbestandteile, um weitere Informationssätze zu joinen. In diesem Beispiel brauchen wir jedoch Daten, die für Personen verfügbar gewesen wären, die über einen Hauskauf nachgedacht haben. Das heißt, für unsere Analyse müssen wir die Berichtsdaten des Vorjahres verwenden.

Diese Übung ist Teil des Kurses

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

Übungsanweisungen

  • Extrahiere das Jahr aus LISTDATE mit year() und schreibe es mit withColumn() in eine neue Spalte namens list_year
  • Erstelle eine weitere neue Spalte namens report_year, indem du von list_year 1 abziehst
  • Erstelle eine Join-Bedingung, die df['CITY'] mit price_df['City'] und df['report_year'] mit price_df['Year'] abgleicht
  • Führe einen Left Join zwischen df und price_df aus

Interaktive praktische Übung

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

from pyspark.sql.functions import year

# Initialize dataframes
df = real_estate_df
price_df = median_prices_df

# Create year column
df = df.____(____, ____(____))

# Adjust year to match
df = df.withColumn(____, (df[____] - 1))

# Create join condition
condition = [df[____] == price_df[____], df[____] == price_df[____]]

# Join the dataframes together
df = ____.join(____, on=condition, how=____)
# Inspect that new columns are available
df[['MedianHomeValue']].show()
Code bearbeiten und ausführen