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
Petunjuk latihan
- Ubah tipe
mort_df['DATE']menjadi tipe tanggal denganto_date() - Buat window dengan fungsi
Window()dan gunakanorderBy()untuk mengurutkan berdasarkanmort_df[DATE] - Buat kolom baru
DATE-1menggunakanwithColumn()dengan melakukan lag pada kolomDATEmenggunakanlag()dan terapkan window denganover(w) - Hitung selisih antara
DATEdanDATE-1menggunakandatediff()dan beri namaDays_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()