เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การคำนวณวันที่

ในตัวอย่างนี้ เราจะตรวจสอบความถี่ของข้อมูล ชุดข้อมูล Mortgage ควรมีข้อมูลรายสัปดาห์ แต่ลองยืนยันด้วยการ lag วันที่รายงาน แล้วนำมาหาผลต่างระหว่างวันที่

โปรดทราบว่าการสร้าง lagged feature จำเป็นต้องสร้าง window() ก่อน window() ช่วยให้คืนค่าสำหรับแต่ละระเบียนโดยอิงจากการคำนวณกับกลุ่มระเบียน ในที่นี้คืออัตราดอกเบี้ยสินเชื่อของรอบระยะเวลาก่อนหน้า

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Feature Engineering with PySpark

ดูคอร์ส

คำแนะนำการฝึกหัด

  • แปลง mort_df['DATE'] ให้เป็นประเภทวันที่ด้วย to_date()
  • สร้าง window ด้วยฟังก์ชัน Window() และใช้ orderBy() เพื่อเรียงลำดับตาม mort_df[DATE]
  • สร้างคอลัมน์ใหม่ชื่อ DATE-1 ด้วย withColumn() โดย lag คอลัมน์ DATE ด้วย lag() และกำหนด window ด้วย over(w)
  • คำนวณผลต่างระหว่าง DATE และ DATE-1 ด้วย datediff() และตั้งชื่อคอลัมน์ว่า 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()
แก้ไขและรันโค้ด