LoslegenKostenlos starten

Numerische Felder bedingt filtern

Auch hier ist es extrem wichtig, den Kontext deiner Daten zu verstehen. Wir wollen herausfinden, in welchem normalen Bereich Häuser verkauft werden. Stell sicher, dass wir Ausreißer ausschließen, die deutlich über oder unter dem Durchschnitt liegen. Dazu berechnen wir den Mittelwert und die Standardabweichung und nutzen sie, um das annähernd normalverteilte Feld log_SalesClosePrice zu filtern.

Diese Übung ist Teil des Kurses

<Kurs>Feature Engineering mit PySpark</Kurs>
Kurs ansehen

Übungsanweisungen

  • Importiere mean() und stddev() aus pyspark.sql.functions.
  • Verwende agg(), um den Mittelwert und die Standardabweichung für 'log_SalesClosePrice' mit den importierten Funktionen zu berechnen.
  • Erzeuge die obere und untere Grenze, indem du mean_val +/- 3-mal stddev_val nimmst.
  • Erstelle einen where()-Filter für 'log_SalesClosePrice' unter Verwendung von sowohl low_bound als auch hi_bound.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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[____] > ____))
Code bearbeiten und ausführen