Cálculos con fechas
En este ejemplo vamos a verificar la frecuencia de nuestros datos. El conjunto de datos de hipotecas debería tener periodicidad semanal, pero vamos a comprobarlo aplicando un retraso a la fecha de informe y luego calculando la diferencia entre fechas.
Recuerda que para crear una característica retrasada necesitamos crear una window(). window() te permite devolver un valor para cada registro a partir de algún cálculo sobre un grupo de registros; en este caso, el tipo de interés hipotecario del período anterior.
Este ejercicio forma parte del curso
Ingeniería de características con PySpark
Instrucciones del ejercicio
- Convierte
mort_df['DATE']al tipo fecha conto_date() - Crea una ventana con la función
Window()y usaorderBy()para ordenar pormort_df[DATE] - Crea una nueva columna
DATE-1usandowithColumn()aplicando un retraso a la columnaDATEconlag()y aplicándole la ventana conover(w) - Calcula la diferencia entre
DATEyDATE-1condatediff()y ponle el nombreDays_Between_Report
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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()