Joina på tidskomponenter
Det är vanligt att använda datumkomponenter för att joina in annan information. I det här exemplet behöver vi använda data som skulle ha varit tillgänglig för den som övervägde att köpa ett hus. Det innebär att vi behöver använda föregående års rapportdata i analysen.
Den här övningen är en del av kursen
Feature Engineering med PySpark
Övningsinstruktioner
- Extrahera året från
LISTDATEmedyear()och lägg in det i en ny kolumn som heterlist_yearmedwithColumn() - Skapa ytterligare en ny kolumn som heter
report_yeargenom att subtrahera 1 frånlist_year - Skapa ett joinvillkor som matchar
df['CITY']medprice_df['City']ochdf['report_year']medprice_df['Year'] - Utför en left join mellan
dfochprice_df
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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()