ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Extraia o ano de LISTDATE usando year() e coloque-o em uma nova coluna chamada list_year com withColumn()
  • Crie outra coluna chamada report_year subtraindo 1 de list_year
  • Crie uma condição de junção que combine df['CITY'] com price_df['City'] e df['report_year'] com price_df['Year']
  • Execute um left join entre df e price_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()
Editar e executar o código