시작하기무료로 시작하기

숫자 필드를 조건으로 필터링하기

다시 한번, 데이터의 맥락을 이해하는 것이 매우 중요합니다. 우리는 주택이 보통 어느 범위에서 거래되는지 파악하려고 합니다. 평균보다 훨씬 비싸게 또는 싸게 판매된 이상치를 제외해 보겠습니다. 여기서는 평균과 표준편차를 계산하고, 이를 사용해 거의 정규분포에 가까운 필드 log_SalesClosePrice를 필터링하겠습니다.

이 연습은 강의의 일부입니다

PySpark로 하는 Feature Engineering

강의 보기

연습 안내

  • pyspark.sql.functions에서 mean()stddev()를 가져오세요.
  • 가져온 함수를 사용해 agg()'log_SalesClosePrice'의 평균과 표준편차를 계산하세요.
  • mean_val ± stddev_val의 3배를 사용해 상한과 하한을 만드세요.
  • low_boundhi_bound를 함께 사용하여 'log_SalesClosePrice'에 대한 where() 필터를 만드세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

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[____] > ____))
코드 편집 및 실행