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
Istruzioni dell'esercizio
- Effettua il cast di
mort_df['DATE']al tipo data conto_date() - Crea una window con la funzione
Window()e usaorderBy()per ordinare permort_df[DATE] - Crea una nuova colonna
DATE-1usandowithColumn()effettuando il lag della colonnaDATEconlag()e applicando la window conover(w) - Calcola la differenza tra
DATEeDATE-1usandodatediff()e chiamalaDays_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()