Fazendo join por componentes de tempo
Muitas vezes você vai usar componentes de data para fazer join com outros conjuntos de informações. Porém, neste exemplo, precisamos usar dados que estariam disponíveis para quem estivesse pensando em comprar uma casa. Isso significa que vamos precisar usar os dados de relatório do ano anterior na nossa análise.
Este exercício faz parte do curso
Feature Engineering com PySpark
Instruções do exercício
- Extraia o ano de
LISTDATEusandoyear()e coloque-o em uma nova coluna chamadalist_yearcomwithColumn() - Crie outra coluna chamada
report_yearsubtraindo 1 delist_year - Crie uma condição de junção que combine
df['CITY']comprice_df['City']edf['report_year']comprice_df['Year'] - Execute um left join entre
dfeprice_df
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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()