Datumberäkning
I det här exemplet kontrollerar vi frekvensen i vår data. Bolånedatamängden ska innehålla veckovis data – låt oss verifiera det genom att förskjuta rapportdatumet och sedan beräkna skillnaden mellan datumen.
Kom ihåg att du behöver skapa ett window() för att generera ett förskjutet särdrag. window() låter dig returnera ett värde för varje post baserat på en beräkning mot en grupp av poster – i det här fallet föregående periods bolåneränta.
Den här övningen är en del av kursen
Feature Engineering med PySpark
Övningsinstruktioner
- Konvertera
mort_df['DATE']till datumtyp medto_date() - Skapa ett fönster med funktionen
Window()och användorderBy()för att sortera påmort_df[DATE] - Skapa en ny kolumn
DATE-1medwithColumn()genom att förskjuta kolumnenDATEmedlag()och tillämpa fönstret medover(w) - Beräkna skillnaden mellan
DATEochDATE-1meddatediff()och ge kolumnen namnetDays_Between_Report
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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()