ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Converta mort_df['DATE'] para o tipo date com to_date()
  • Crie uma janela com a função Window() e use orderBy() para ordenar por mort_df[DATE]
  • Crie uma nova coluna DATE-1 usando withColumn(), defasando a coluna DATE com lag() e aplicando a janela com over(w)
  • Calcule a diferença entre DATE e DATE-1 usando datediff() e nomeie como Days_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()
Editar e executar o código