Filtrando campos numéricos condicionalmente
Mais uma vez, entender o contexto dos seus dados é fundamental. Queremos entender qual é a faixa normal de preços de venda das casas. Vamos garantir que você exclua quaisquer outliers, ou seja, casas que foram vendidas por muito mais ou muito menos do que a média. Aqui, vamos calcular a média e o desvio padrão e usá-los para filtrar o campo quase normal log_SalesClosePrice.
Este exercício faz parte do curso
Feature Engineering com PySpark
Instruções do exercício
- Importe
mean()estddev()depyspark.sql.functions. - Use
agg()para calcular a média e o desvio padrão de'log_SalesClosePrice'com as funções importadas. - Crie os limites superior e inferior usando
mean_val+/- 3 vezesstddev_val. - Crie um filtro
where()para'log_SalesClosePrice'usando tantolow_boundquantohi_bound.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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[____] > ____))