Calculs de dates
Dans cet exemple, nous allons vérifier la fréquence de nos données. Le jeu de données Mortgage est censé être hebdomadaire ; vérifions-le en décalant la date de rapport, puis en prenant la différence entre les dates.
Rappelez-vous que pour créer une variable décalée, nous devons définir une window(). window() permet de retourner une valeur pour chaque enregistrement à partir d’un calcul effectué sur un groupe d’enregistrements, ici le taux hypothécaire de la période précédente.
Cet exercice fait partie du cours
<cours>Feature Engineering avec PySpark</cours>Instructions de l’exercice
- Convertissez
mort_df['DATE']en type date avecto_date() - Créez une fenêtre avec la fonction
Window()et utilisezorderBy()pour trier selonmort_df[DATE] - Créez une nouvelle colonne
DATE-1avecwithColumn()en décalant la colonneDATEaveclag()et appliquez la fenêtre avecover(w) - Calculez la différence entre
DATEetDATE-1avecdatediff()et nommez-laDays_Between_Report
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
from pyspark.sql.functions import lag, datediff, to_date
from pyspark.sql.window import Window
# Cast data type
mort_df = mort_df.withColumn(____, ____(____))
# Create window
w = ____().____(____)
# Create lag column
mort_df = mort_df.____(____, ____(____, count=1).____(w))
# Calculate difference between date columns
mort_df = mort_df.withColumn(____, ____(____, ____))
# Print results
mort_df.select('Days_Between_Report').distinct().show()