Date Math
इस उदाहरण में, हम अपने डेटा की फ़्रीक्वेंसी की जाँच करेंगे। Mortgage डेटासेट साप्ताहिक डेटा का दावा करता है, लेकिन इसे पक्का कर लेते हैं: रिपोर्ट की तारीख को lag करें और फिर तारीखों का अंतर निकालें.
याद रखें, lagged फीचर बनाने के लिए हमें window() बनाना होगा। window() आपको रिकॉर्ड्स के एक समूह पर किसी गणना के आधार पर हर रिकॉर्ड के लिए एक मान लौटाने देता है — यहाँ, पिछले पीरियड की mortgage दर के आधार पर.
यह अभ्यास पाठ्यक्रम का हिस्सा है
PySpark के साथ Feature Engineering
अभ्यास निर्देश
to_date()सेmort_df['DATE']को date टाइप में cast करें.Window()फंक्शन से एक window बनाएँ औरorderBy()का उपयोग करकेmort_df[DATE]के अनुसार sort करें.withColumn()का उपयोग करकेDATEकॉलम कोlag()से lag कर एक नया कॉलमDATE-1बनाएँ और उसेover(w)से window करें.datediff()का उपयोग करकेDATEऔरDATE-1के बीच का अंतर निकालें और उसेDays_Between_Reportनाम दें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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()