Počítání s daty
V tomto příkladu si ověříme frekvenci našich dat. Hypotekární dataset by měl obsahovat týdenní záznamy – pojďme to zkontrolovat tak, že posuneme datum reportu o jedno období zpět a spočítáme rozdíl mezi daty.
Pro vytvoření zpožděného příznaku (lagged feature) je potřeba nejprve definovat window(). Funkce window() ti umožňuje vrátit hodnotu pro každý záznam na základě výpočtu přes skupinu záznamů – v tomto případě půjde o hypoteční sazbu z předchozího období.
Toto cvičení je součástí kurzu
Feature Engineering with PySpark
Pokyny k cvičení
- Převeď
mort_df['DATE']na datový typ date pomocíto_date() - Vytvoř okno pomocí funkce
Window()a seřaď záznamy podlemort_df[DATE]pomocíorderBy() - Vytvoř nový sloupec
DATE-1pomocíwithColumn()tak, že posunout sloupecDATEo jedno období zpět funkcílag()a aplikuj okno pomocíover(w) - Vypočítej rozdíl mezi
DATEaDATE-1pomocídatediff()a výsledný sloupec pojmenujDays_Between_Report
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()