ÎncepețiÎncepe gratuit

Calcule cu date calendaristice

În acest exemplu, vom verifica frecvența datelor noastre. Setul de date despre credite ipotecare ar trebui să conțină date săptămânale – hai să confirmăm acest lucru decalând data raportului și calculând diferența dintre date.

Amintește-ți că, pentru a crea o caracteristică decalată, va trebui să definești un window(). window() îți permite să returnezi o valoare pentru fiecare înregistrare pe baza unui calcul aplicat unui grup de înregistrări – în acest caz, rata creditului ipotecar din perioada anterioară.

Acest exercițiu face parte din cursul

Feature Engineering cu PySpark

Vezi cursul

Instrucțiuni pentru exercițiu

  • Convertește mort_df['DATE'] la tipul dată calendaristică folosind to_date()
  • Creează un window cu funcția Window() și folosește orderBy() pentru a sorta după mort_df[DATE]
  • Creează o nouă coloană DATE-1 cu withColumn(), decalând coloana DATE cu lag() și aplicând fereastra cu over(w)
  • Calculează diferența dintre DATE și DATE-1 folosind datediff() și denumește coloana Days_Between_Report

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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()
Editează și rulează codul