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
Oefeninstructies
- Haal het jaar uit
LISTDATEmetyear()en zet dit in een nieuwe kolomlist_yearmetwithColumn() - Maak nog een nieuwe kolom
report_yeardoor 1 af te trekken vanlist_year - Maak een join-voorwaarde die
df['CITY']koppelt aanprice_df['City']endf['report_year']aanprice_df['Year'] - Voer een left join uit tussen
dfenprice_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()