Unir por componentes de tiempo
A menudo usarás componentes de fecha para unir otros conjuntos de información. Sin embargo, en este ejemplo necesitamos usar datos que habrían estado disponibles para quienes se planteaban comprar una vivienda. Esto significa que usaremos los datos de reporte del año anterior para nuestro análisis.
Este ejercicio forma parte del curso
Ingeniería de características con PySpark
Instrucciones del ejercicio
- Extrae el año de
LISTDATEusandoyear()y guárdalo en una nueva columna llamadalist_yearconwithColumn() - Crea otra columna nueva llamada
report_yearrestando 1 alist_year - Crea una condición de unión que haga coincidir
df['CITY']conprice_df['City']ydf['report_year']conprice_df['Year'] - Realiza un left join entre
dfyprice_df
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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()