LoslegenKostenlos starten

Datumsarithmetik

In diesem Beispiel prüfen wir die Frequenz unserer Daten. Der Mortgage-Datensatz soll wöchentliche Daten enthalten – vergewissere dich, indem du das Berichtsdatum verzögerst und anschließend die Differenz der Daten bildest.

Denk daran: Um ein verzögertes Feature zu erstellen, brauchen wir ein window(). window() ermöglicht dir, für jeden Datensatz einen Wert basierend auf einer Berechnung über eine Gruppe von Datensätzen zurückzugeben – in diesem Fall den Hypothekenzinssatz der vorherigen Periode.

Diese Übung ist Teil des Kurses

<Kurs>Feature Engineering mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Wandle mort_df['DATE'] mit to_date() in den Date-Typ um
  • Erzeuge ein Fenster mit der Funktion Window() und sortiere mit orderBy() nach mort_df[DATE]
  • Erstelle eine neue Spalte DATE-1 mit withColumn(), indem du die Spalte DATE mit lag() verzögerst und sie mit over(w) fensterst
  • Berechne die Differenz zwischen DATE und DATE-1 mit datediff() und nenne sie Days_Between_Report

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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 bearbeiten und ausführen