Умовна фільтрація числових полів
Ще раз: розуміти контекст ваших даних надзвичайно важливо. Нам потрібно визначити, у яких межах зазвичай продаються будинки. Переконаймося, що ми виключаємо будь-які викиди — будинки, продані суттєво дорожче або дешевше за середнє. Тут ми обчислимо середнє та стандартне відхилення й використаємо їх, щоб відфільтрувати майже нормальне поле log_SalesClosePrice.
Ця вправа є частиною курсу
Опрацювання ознак у PySpark
Інструкції до вправи
- Імпортуйте
mean()іstddev()зpyspark.sql.functions. - Використайте
agg(), щоб обчислити середнє та стандартне відхилення для'log_SalesClosePrice'за допомогою імпортованих функцій. - Створіть верхню та нижню межі, взявши
mean_val+/- 3 разиstddev_val. - Створіть фільтр
where()для'log_SalesClosePrice', використовуючи одночасноlow_boundіhi_bound.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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[____] > ____))