Menyaring bidang numerik secara kondisional
Memahami konteks data Anda sangatlah penting. Kita ingin mengetahui rentang normal harga jual rumah. Mari pastikan kita mengecualikan rumah-rumah pencilan yang terjual jauh lebih tinggi atau jauh lebih rendah daripada rata-rata. Di sini kita akan menghitung mean dan standar deviasi, lalu menggunakannya untuk menyaring bidang yang mendekati distribusi normal log_SalesClosePrice.
Latihan ini adalah bagian dari kursus
Rekayasa Fitur dengan PySpark
Petunjuk latihan
- Impor
mean()danstddev()daripyspark.sql.functions. - Gunakan
agg()untuk menghitung mean dan standar deviasi untuk'log_SalesClosePrice'dengan fungsi yang diimpor. - Buat batas atas dan bawah dengan mengambil
mean_val+/- 3 kalistddev_val. - Buat penyaring
where()untuk'log_SalesClosePrice'menggunakanlow_bounddanhi_boundsekaligus.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
from ____ import ____, ____
# Calculate values used for outlier filtering
mean_val = df.____({____: ____}).collect()[0][0]
stddev_val = df.____({____: ____}).collect()[0][0]
# Create three standard deviation (μ ± 3σ) lower and upper bounds for data
low_bound = ____ - (3 * ____)
hi_bound = ____ + (3 * ____)
# Filter the data to fit between the lower and upper bounds
df = df.____((df[____] < ____) ____ (df[____] > ____))