Aan de slagBegin gratis

Rekenen met datums

In dit voorbeeld gaan we de frequentie van onze data controleren. De Mortgage-gegevensset zou wekelijks zijn, maar laten we dat zeker weten door de rapportagedatum te laggen en vervolgens het verschil tussen de datums te berekenen.

Onthoud dat we om een gelagde feature te maken een window() moeten creëren. Met window() kun je voor elk record een waarde teruggeven op basis van een berekening over een groep records, in dit geval het hypotheekpercentage van de vorige periode.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Cast mort_df['DATE'] naar het datumtype met to_date()
  • Maak een window met de functie Window() en gebruik orderBy() om te sorteren op mort_df[DATE]
  • Maak een nieuwe kolom DATE-1 met withColumn() door de kolom DATE te laggen met lag() en gebruik over(w) voor de window
  • Bereken het verschil tussen DATE en DATE-1 met datediff() en noem het Days_Between_Report

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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()
Code bewerken en uitvoeren