Join sui componenti temporali
Spesso userai i componenti di una data per fare join con altri insiemi di informazioni. In questo esempio, però, dobbiamo usare dati che sarebbero stati disponibili a chi stava considerando l'acquisto di una casa. Questo significa che per l'analisi dovremo usare i dati di rendicontazione dell'anno precedente.
Questo esercizio fa parte del corso
Feature Engineering con PySpark
Istruzioni dell'esercizio
- Estrai l'anno da
LISTDATEusandoyear()e inseriscilo in una nuova colonna chiamatalist_yearconwithColumn() - Crea un'altra nuova colonna chiamata
report_yearsottraendo 1 dalist_year - Crea una condizione di join che faccia corrispondere
df['CITY']conprice_df['City']edf['report_year']conprice_df['Year'] - Esegui un left join tra
dfeprice_df
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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()