Inizia subitoInizia gratis

Operazioni con le date

In questo esempio vedremo come verificare la frequenza dei dati. Il dataset Mortgage dovrebbe essere settimanale: assicuriamocene creando il lag della data di report e poi calcolando la differenza tra le date.

Ricorda che, per creare una caratteristica laggata, dobbiamo definire una window(). window() ti permette di restituire un valore per ogni record in base a un calcolo su un gruppo di record, in questo caso il tasso del mutuo del periodo precedente.

Questo esercizio fa parte del corso

Feature Engineering con PySpark

Visualizza corso

Istruzioni dell'esercizio

  • Effettua il cast di mort_df['DATE'] al tipo data con to_date()
  • Crea una window con la funzione Window() e usa orderBy() per ordinare per mort_df[DATE]
  • Crea una nuova colonna DATE-1 usando withColumn() effettuando il lag della colonna DATE con lag() e applicando la window con over(w)
  • Calcola la differenza tra DATE e DATE-1 usando datediff() e chiamala Days_Between_Report

esercizio interattivo pratico

Prova questo esercizio completando questo codice di esempio.

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()
Modifica ed esegui il codice