CommencerCommencez gratuitement

Joindre sur des composantes temporelles

Il est courant d’utiliser des composantes de date pour joindre d’autres sources d’informations. Toutefois, dans cet exemple, nous devons nous baser sur les données qui auraient été disponibles pour des personnes envisageant d’acheter une maison. Autrement dit, nous allons utiliser, pour notre analyse, les données de reporting de l’année précédente.

Cet exercice fait partie du cours

<cours>Feature Engineering avec PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Extrayez l’année de LISTDATE avec year() et placez-la dans une nouvelle colonne appelée list_year avec withColumn()
  • Créez une autre colonne, report_year, en soustrayant 1 à list_year
  • Créez une condition de jointure qui fait correspondre df['CITY'] avec price_df['City'] et df['report_year'] avec price_df['Year']
  • Effectuez une jointure gauche entre df et price_df

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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()
Modifier et exécuter le code