Warunkowe filtrowanie pól liczbowych
Zrozumienie kontekstu danych jest niezwykle ważne. Chcemy poznać typowy przedział cen sprzedaży domów, dlatego należy wykluczyć wartości odstające – czyli domy sprzedane za znacznie więcej lub znacznie mniej niż średnia. Obliczysz średnią i odchylenie standardowe, a następnie użyjesz ich do odfiltrowania pola log_SalesClosePrice, które ma rozkład zbliżony do normalnego.
To ćwiczenie jest częścią kursu
Inżynieria cech z PySpark
Instrukcje do ćwiczenia
- Zaimportuj funkcje
mean()istddev()zpyspark.sql.functions. - Użyj metody
agg(), aby obliczyć średnią i odchylenie standardowe dla'log_SalesClosePrice'za pomocą zaimportowanych funkcji. - Wyznacz górną i dolną granicę, dodając lub odejmując od
mean_valtrzykrotnośćstddev_val. - Utwórz filtr
where()dla'log_SalesClosePrice', korzystając z obu wartości:low_boundihi_bound.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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[____] > ____))