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>Übungsanweisungen
- Wandle
mort_df['DATE']mitto_date()in den Date-Typ um - Erzeuge ein Fenster mit der Funktion
Window()und sortiere mitorderBy()nachmort_df[DATE] - Erstelle eine neue Spalte
DATE-1mitwithColumn(), indem du die SpalteDATEmitlag()verzögerst und sie mitover(w)fensterst - Berechne die Differenz zwischen
DATEundDATE-1mitdatediff()und nenne sieDays_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()