Filtrare campi numerici in modo condizionale
Anche qui, capire il contesto dei tuoi dati è fondamentale. Vogliamo capire qual è il range normale di vendita delle case. Assicuriamoci di escludere eventuali outlier che sono stati venduti a un prezzo molto superiore o inferiore alla media. Qui calcoleremo media e deviazione standard e le useremo per filtrare il campo quasi normale log_SalesClosePrice.
Questo esercizio fa parte del corso
Feature Engineering con PySpark
Istruzioni dell'esercizio
- Importa
mean()estddev()dapyspark.sql.functions. - Usa
agg()per calcolare media e deviazione standard per'log_SalesClosePrice'con le funzioni importate. - Crea il limite superiore e inferiore prendendo
mean_val+/- 3 voltestddev_val. - Crea un filtro
where()per'log_SalesClosePrice'usando sialow_boundsiahi_bound.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
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[____] > ____))