Joindre sur les composantes temporelles
Vous utiliserez souvent des composantes de date pour joindre d'autres ensembles d'information. Toutefois, dans cet exemple, nous devons utiliser des données qui auraient été accessibles aux personnes envisageant d'acheter une maison. Cela signifie que, pour notre analyse, nous devons nous baser sur les données de déclaration de l'année précédente.
Cette activité fait partie du cours
Ingénierie des caractéristiques avec PySpark
Instructions de l’exercice
- Extraire l'année de
LISTDATEavecyear()et la placer dans une nouvelle colonne nomméelist_yearà l'aide dewithColumn() - Créer une autre colonne nommée
report_yearen soustrayant 1 delist_year - Créer une condition de jointure qui associe
df['CITY']àprice_df['City']etdf['report_year']àprice_df['Year'] - Effectuer une jointure gauche entre
dfetprice_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()