CommencerCommencez gratuitement

Filtrer des champs numériques selon des conditions

Encore une fois, comprendre le contexte de vos données est essentiel. Nous voulons estimer la plage « normale » des prix de vente des maisons. Assurons-nous d’exclure les biens atypiques qui se sont vendus nettement plus ou nettement moins que la moyenne. Ici, nous allons calculer la moyenne et l’écart-type, puis les utiliser pour filtrer le champ quasi normal log_SalesClosePrice.

Cet exercice fait partie du cours

<cours>Feature Engineering avec PySpark</cours>
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 utilisant à la fois 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