MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Impor mean() dan stddev() dari pyspark.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 kali stddev_val.
  • Buat penyaring where() untuk 'log_SalesClosePrice' menggunakan low_bound dan hi_bound sekaligus.

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[____] > ____))
Edit dan Jalankan Kode