EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Extrae el año de LISTDATE usando year() y guárdalo en una nueva columna llamada list_year con withColumn()
  • Crea otra columna nueva llamada report_year restando 1 a list_year
  • Crea una condición de unión que haga coincidir df['CITY'] con price_df['City'] y df['report_year'] con price_df['Year']
  • Realiza un left join entre df y price_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()
Editar y ejecutar código