Tarih Matematiği
Bu örnekte, verilerimizin frekansını doğrulamaya bakacağız. Mortgage veri kümesi haftalık veri içermeli, ama emin olmak için rapor tarihini geciktirip (lag) tarihler arasındaki farkı alalım.
Gecikmeli bir özellik oluşturmak için window() oluşturmamız gerektiğini hatırla. window(), her kayıt için bir grup kayıt üzerinde yapılan bir hesaplamaya göre bir değer döndürmene olanak tanır; bu durumda önceki dönemin mortgage oranı.
Bu egzersiz, kursun bir parçasıdır
PySpark ile Özellik Mühendisliği
Egzersiz talimatları
mort_df['DATE']sütununuto_date()ile date türüne dönüştürWindow()fonksiyonu ile bir window oluştur veorderBy()kullanarakmort_df[DATE]sütununa göre sıralalag()ileDATEsütununu geciktirerek veover(w)ile window uygulayarakwithColumn()içinde yeni birDATE-1sütunu oluşturDATEileDATE-1arasındaki farkıdatediff()kullanarak hesapla ve adınıDays_Between_Reportkoy
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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()