Erkennung und Ausschluss von Ausreißern in Pandas DataFrames
Bei der Arbeit mit Datensätzen ist es wichtig, Ausreißer zu identifizieren und zu behandeln, da sie die Analyse verzerren können Ergebnisse. In Pandas kann das Erkennen und Ausschließen von Ausreißern basierend auf bestimmten Spaltenwerten mithilfe eines eleganten und effizienten Ansatzes erreicht werden.
Das Problem verstehen
Gegeben sei ein Pandas-DataFrame mit mehreren Spalten , können bestimmte Zeilen Ausreißerwerte in einer bestimmten Spalte enthalten, die als „Vol.“ bezeichnet wird. Die Aufgabe besteht darin, den DataFrame zu filtern und Zeilen auszuschließen, in denen die Werte der Spalte „Vol“ deutlich vom Mittelwert abweichen.
Lösung mit scipy.stats.zscore
Zu erreichen Dazu können wir die Funktion scipy.stats.zscore nutzen:
import pandas as pd import numpy as np from scipy import stats # Calculate Z-scores for the specified column z_scores = stats.zscore(df['Vol']) # Define a threshold for outlier detection (e.g., 3 standard deviations) threshold = 3 # Create a mask to identify rows with outlier values mask = np.abs(z_scores) < threshold # Filter the DataFrame using the mask outlier_filtered_df = df[mask]
Diese Lösung bietet eine effektive Methode dazu Ausreißer anhand eines angegebenen Spaltenwerts erkennen und ausschließen. Mithilfe von Z-Scores können wir die Abweichung einzelner Werte vom Mittelwert quantifizieren und einen Schwellenwert anwenden, um Ausreißer zu identifizieren. Das resultierende outlier_filtered_df enthält nur Zeilen mit „Vol“-Werten innerhalb des angegebenen Bereichs.
Das obige ist der detaillierte Inhalt vonWie kann man Ausreißer in Pandas-DataFrames mithilfe von Z-Scores effektiv erkennen und ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!