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
Instrucțiuni pentru exercițiu
- Convertește
mort_df['DATE']la tipul dată calendaristică folosindto_date() - Creează un window cu funcția
Window()și foloseșteorderBy()pentru a sorta dupămort_df[DATE] - Creează o nouă coloană
DATE-1cuwithColumn(), decalând coloanaDATEculag()și aplicând fereastra cuover(w) - Calculează diferența dintre
DATEșiDATE-1folosinddatediff()și denumește coloanaDays_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()