Aan de slagBegin gratis

Joinen op tijdcomponenten

Vaak gebruik je datumcomponenten om andere informatiesets te joinen. In dit voorbeeld hebben we echter gegevens nodig die beschikbaar zouden zijn geweest voor mensen die een huis wilden kopen. Dat betekent dat we voor onze analyse de rapportagegegevens van het voorgaande jaar moeten gebruiken.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Haal het jaar uit LISTDATE met year() en zet dit in een nieuwe kolom list_year met withColumn()
  • Maak nog een nieuwe kolom report_year door 1 af te trekken van list_year
  • Maak een join-voorwaarde die df['CITY'] koppelt aan price_df['City'] en df['report_year'] aan price_df['Year']
  • Voer een left join uit tussen df en price_df

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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 bewerken en uitvoeren