EmpezarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • Convierte mort_df['DATE'] al tipo fecha con to_date()
  • Crea una ventana con la función Window() y usa orderBy() para ordenar por mort_df[DATE]
  • Crea una nueva columna DATE-1 usando withColumn() aplicando un retraso a la columna DATE con lag() y aplicándole la ventana con over(w)
  • Calcula la diferencia entre DATE y DATE-1 con datediff() y ponle el nombre Days_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()
Editar y ejecutar código