CommencezCommencez gratuitement

Calculs sur les 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, mais vérifions-le en décalant la date de rapport, puis en calculant l'écart entre les dates.

Rappelez-vous que pour créer une variable décalée, nous devons créer une window(). window() permet de retourner une valeur pour chaque enregistrement à partir d'un calcul effectué sur un groupe d'enregistrements — dans notre cas, le taux hypothécaire de la période précédente.

Cette activité fait partie du cours

Ingénierie des caractéristiques avec PySpark

Voir le cours

Instructions de l’exercice

  • Convertissez mort_df['DATE'] au type date avec to_date()
  • Créez une fenêtre avec la fonction Window() et utilisez orderBy() pour trier par mort_df[DATE]
  • Créez une nouvelle colonne DATE-1 avec withColumn() en décalant la colonne DATE avec lag() et appliquez la fenêtre avec over(w)
  • Calculez la différence entre DATE et DATE-1 avec datediff() et nommez-la Days_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()
Modifier et exécuter le code