MulaiMulai sekarang secara gratis

Aritmetika Tanggal

Dalam contoh ini, kita akan memverifikasi frekuensi data. Himpunan data Mortgage seharusnya memiliki data mingguan, tetapi mari pastikan dengan melakukan lag pada tanggal laporan lalu menghitung selisih antar tanggal.

Ingat bahwa untuk membuat fitur lag, kita perlu membuat window(). window() memungkinkan Anda mengembalikan nilai untuk setiap rekaman berdasarkan perhitungan atas sekelompok rekaman, dalam hal ini, tingkat hipotek periode sebelumnya.

Latihan ini adalah bagian dari kursus

Rekayasa Fitur dengan PySpark

Lihat Kursus

Petunjuk latihan

  • Ubah tipe mort_df['DATE'] menjadi tipe tanggal dengan to_date()
  • Buat window dengan fungsi Window() dan gunakan orderBy() untuk mengurutkan berdasarkan mort_df[DATE]
  • Buat kolom baru DATE-1 menggunakan withColumn() dengan melakukan lag pada kolom DATE menggunakan lag() dan terapkan window dengan over(w)
  • Hitung selisih antara DATE dan DATE-1 menggunakan datediff() dan beri nama Days_Between_Report

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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()
Edit dan Jalankan Kode