Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Konvertera mort_df['DATE'] till datumtyp med to_date()
  • Skapa ett fönster med funktionen Window() och använd orderBy() för att sortera på mort_df[DATE]
  • Skapa en ny kolumn DATE-1 med withColumn() genom att förskjuta kolumnen DATE med lag() och tillämpa fönstret med over(w)
  • Beräkna skillnaden mellan DATE och DATE-1 med datediff() och ge kolumnen namnet Days_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()
Redigera och kör kod