Ausreißer in einem Pandas-DataFrame identifizieren und ausschließen
In einem Pandas-DataFrame mit mehreren Spalten können Ausreißer anhand bestimmter Spaltenwerte identifiziert und ausgeschlossen werden Verbesserung der Datengenauigkeit und -zuverlässigkeit. Ausreißer oder Extremwerte, die erheblich vom Großteil der Daten abweichen, können die Analyseergebnisse verzerren und zu falschen Schlussfolgerungen führen.
Um Ausreißer effektiv zu filtern, besteht ein robuster Ansatz darin, sich auf statistische Techniken zu verlassen. Eine Methode besteht darin, den Z-Score zu verwenden, ein Maß dafür, um wie viele Standardabweichungen ein Wert vom Mittelwert abweicht. Zeilen mit Z-Scores, die einen vordefinierten Schwellenwert überschreiten, können als Ausreißer betrachtet werden.
Verwendung von sciPy.stats.zscore
Die sciPy-Bibliothek stellt die Funktion zscore() zur Berechnung von Z bereit -Scores für jede Spalte in einem DataFrame. Hier ist eine elegante Lösung zum Erkennen und Ausschließen von Ausreißern:
import pandas as pd import numpy as np from scipy import stats df = pd.DataFrame({'Vol': [1200, 1220, 1215, 4000, 1210]}) outlier_threshold = 3 # Compute Z-scores for the 'Vol' column zscores = np.abs(stats.zscore(df['Vol'])) # Create a mask to identify rows with outliers outlier_mask = zscores > outlier_threshold # Exclude rows with outliers df_without_outliers = df[~outlier_mask]
Dieser Ansatz identifiziert effektiv die Ausreißerzeilen und entfernt sie aus dem DataFrame.
Umgang mit mehreren Spalten
Bei mehreren Spalten kann die Ausreißererkennung auf eine bestimmte Spalte oder alle Spalten angewendet werden gleichzeitig:
# Outliers in at least one column outlier_mask = (np.abs(stats.zscore(df)) < outlier_threshold).all(axis=1) # Remove rows with outliers in any column df_without_outliers = df[~outlier_mask]
# Outliers in a specific column ('Vol') zscores = np.abs(stats.zscore(df['Vol'])) outlier_mask = zscores > outlier_threshold # Remove rows with outliers in the 'Vol' column df_without_outliers = df[~outlier_mask]
Durch den Einsatz statistischer Methoden wie Z-Score-Berechnungen ist es möglich, Ausreißer in einem Pandas-DataFrame effizient zu erkennen und auszuschließen, wodurch sauberere und zuverlässigere Daten für die Analyse gewährleistet werden.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Z-Scores Ausreißer aus einem Pandas-DataFrame identifizieren und entfernen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!