CommencezCommencez gratuitement

Filtrer des champs numériques selon des conditions

Encore une fois, comprendre le contexte de vos données est essentiel. Nous voulons cerner la plage « normale » des prix de vente des maisons. Assurons-nous d'exclure les valeurs aberrantes, c'est‑à‑dire les maisons vendues beaucoup plus cher ou beaucoup moins cher que la moyenne. Ici, nous allons calculer la moyenne et l'écart type, puis les utiliser pour filtrer le champ quasi normal log_SalesClosePrice.

Cette activité fait partie du cours

Ingénierie des caractéristiques avec PySpark

Voir le cours

Instructions de l’exercice

  • Importez mean() et stddev() depuis pyspark.sql.functions.
  • Utilisez agg() pour calculer la moyenne et l'écart type de 'log_SalesClosePrice' avec les fonctions importées.
  • Créez les bornes supérieure et inférieure en prenant mean_val ± 3 fois stddev_val.
  • Créez un filtre where() pour 'log_SalesClosePrice' en combinant low_bound et hi_bound.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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[____] > ____))
Modifier et exécuter le code