Zacznij terazZacznij za darmo

Działania na datach

W tym ćwiczeniu sprawdzimy, z jaką częstotliwością pojawiają się dane. Zbiór danych Mortgage powinien zawierać dane tygodniowe – upewnijmy się co do tego, przesuwając datę raportu o jeden okres wstecz, a następnie obliczając różnicę między datami.

Pamiętaj, że do utworzenia cechy opóźnionej potrzebujesz window(). Funkcja window() pozwala zwrócić wartość dla każdego rekordu na podstawie obliczeń wykonanych na grupie rekordów – w tym przypadku na stopie hipotecznej z poprzedniego okresu.

To ćwiczenie jest częścią kursu

Inżynieria cech z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Rzutuj mort_df['DATE'] na typ daty za pomocą to_date()
  • Utwórz okno funkcją Window() i użyj orderBy(), aby posortować dane według mort_df[DATE]
  • Dodaj nową kolumnę DATE-1 za pomocą withColumn(), przesuwając kolumnę DATE o jeden okres wstecz funkcją lag(), a następnie zastosuj okno przy użyciu over(w)
  • Oblicz różnicę między DATE a DATE-1 za pomocą datediff() i nazwij wynikową kolumnę Days_Between_Report

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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()
Edytuj i uruchom kod