Operações com datas
Neste exemplo, vamos verificar a frequência dos nossos dados. O conjunto de dados de hipoteca (Mortgage) deveria ter dados semanais, mas vamos confirmar isso defasando a data do relatório e depois calculando a diferença entre as datas.
Lembre-se de que, para criar uma feature defasada, precisamos criar uma window(). window() permite retornar um valor para cada registro com base em um cálculo sobre um grupo de registros — neste caso, a taxa de hipoteca do período anterior.
Este exercício faz parte do curso
Feature Engineering com PySpark
Instruções do exercício
- Converta
mort_df['DATE']para o tipo date comto_date() - Crie uma janela com a função
Window()e useorderBy()para ordenar pormort_df[DATE] - Crie uma nova coluna
DATE-1usandowithColumn(), defasando a colunaDATEcomlag()e aplicando a janela comover(w) - Calcule a diferença entre
DATEeDATE-1usandodatediff()e nomeie comoDays_Between_Report
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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()