Lọc có điều kiện cho trường số
Một lần nữa, hiểu rõ ngữ cảnh dữ liệu của bạn là cực kỳ quan trọng. Chúng ta muốn biết mức giá bán nhà “bình thường” là bao nhiêu. Hãy đảm bảo loại bỏ các ngoại lệ — những căn bán cao hơn hoặc thấp hơn đáng kể so với mức trung bình. Ở đây, bạn sẽ tính trung bình và độ lệch chuẩn rồi dùng chúng để lọc trường gần phân phối chuẩn log_SalesClosePrice.
Bài tập này là một phần của khóa học
Feature Engineering với PySpark
Hướng dẫn bài tập
- Import
mean()vàstddev()từpyspark.sql.functions. - Dùng
agg()để tính giá trị trung bình và độ lệch chuẩn cho'log_SalesClosePrice'với các hàm đã import. - Tạo cận trên và cận dưới bằng cách lấy
mean_val+/- 3 lầnstddev_val. - Tạo bộ lọc
where()cho'log_SalesClosePrice'sử dụng cảlow_boundvàhi_bound.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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[____] > ____))