Filtrar campos numéricos de forma condicional
De nuevo, entender el contexto de tus datos es fundamental. Queremos saber cuál es el rango normal de precios de venta de las viviendas. Asegurémonos de excluir cualquier vivienda atípica que se haya vendido por bastante más o menos que la media. Aquí calcularemos la media y la desviación estándar y las usaremos para filtrar el campo casi normal log_SalesClosePrice.
Este ejercicio forma parte del curso
Ingeniería de características con PySpark
Instrucciones del ejercicio
- Importa
mean()ystddev()desdepyspark.sql.functions. - Usa
agg()para calcular la media y la desviación estándar de'log_SalesClosePrice'con las funciones importadas. - Crea los límites superior e inferior tomando
mean_val+/- 3 vecesstddev_val. - Crea un filtro
where()para'log_SalesClosePrice'usando tantolow_boundcomohi_bound.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
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[____] > ____))