Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Ausreißer in einem Pandas-DataFrame mithilfe von Standardabweichungen erkennen und ausschließen?

Wie kann ich Ausreißer in einem Pandas-DataFrame mithilfe von Standardabweichungen erkennen und ausschließen?

Barbara Streisand
Freigeben: 2024-12-11 10:26:16
Original
926 Leute haben es durchsucht

How Can I Detect and Exclude Outliers in a Pandas DataFrame Using Standard Deviations?

Ausreißer in einem Pandas-Datenrahmen mithilfe von Standardabweichungen erkennen und ausschließen

Ausreißer sind Datenpunkte, die erheblich vom Rest der Daten in einem abweichen Verteilung. Das Identifizieren und Ausschließen von Ausreißern kann die Datenanalyse verbessern, indem verzerrte oder verrauschte Beobachtungen entfernt werden. Pandas bietet mehrere Methoden zum Umgang mit Ausreißern, einschließlich der Verwendung von Standardabweichungen.

Um Zeilen mit Werten auszuschließen, die eine bestimmte Anzahl von Standardabweichungen vom Mittelwert überschreiten, können wir die Funktion scipy.stats.zscore verwenden. Diese Funktion berechnet den Z-Score für jeden Datenpunkt und stellt die Anzahl der Standardabweichungen dar, um die er vom Mittelwert abweicht.

import pandas as pd
import numpy as np
from scipy import stats

# Create a sample dataframe
df = pd.DataFrame({'Vol': [1200, 1230, 1250, 1210, 4000]})

# Calculate Z-score for the 'Vol' column
zscores = stats.zscore(df['Vol'])

# Exclude rows with Z-score greater than 3
filtered_df = df[np.abs(zscores) < 3]
Nach dem Login kopieren

Dieser Ansatz erkennt und schließt Ausreißer speziell in der Spalte „Vol“ aus. Für mehr Flexibilität können wir diesen Filter auf mehrere Spalten gleichzeitig anwenden:

# Calculate Z-scores for all columns
zscores = stats.zscore(df)

# Exclude rows with any column Z-score greater than 3
filtered_df = df[(np.abs(zscores) < 3).all(axis=1)]
Nach dem Login kopieren

Durch Anpassen des Schwellenwerts (in diesem Fall 3) können wir den Grad des Ausschlusses von Ausreißern steuern. Ein kleinerer Schwellenwert führt zu einer konservativeren Ausreißererkennung, während ein größerer Schwellenwert mehr potenzielle Ausreißer ausschließt.

Mit diesem Ansatz können wir Ausreißer effektiv identifizieren und entfernen, die die Analyse unseres Pandas DataFrame verzerren könnten.

Das obige ist der detaillierte Inhalt vonWie kann ich Ausreißer in einem Pandas-DataFrame mithilfe von Standardabweichungen erkennen und ausschließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage