Détecter et exclure les valeurs aberrantes dans un DataFrame Pandas à l'aide des écarts types
Les valeurs aberrantes sont des points de données qui s'écartent considérablement du reste des données dans un distribution. L'identification et l'exclusion des valeurs aberrantes peuvent améliorer l'analyse des données en supprimant les observations biaisées ou bruitées. Pandas propose plusieurs méthodes pour gérer les valeurs aberrantes, notamment en utilisant les écarts types.
Pour exclure les lignes dont les valeurs dépassent un certain nombre d'écarts types par rapport à la moyenne, nous pouvons utiliser la fonction scipy.stats.zscore. Cette fonction calcule le score Z pour chaque point de données, représentant le nombre d'écarts types par rapport à la moyenne.
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]
Cette approche détecte et exclut spécifiquement les valeurs aberrantes dans la colonne « Vol ». Pour plus de flexibilité, nous pouvons appliquer ce filtre à plusieurs colonnes simultanément :
# 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)]
En ajustant la valeur seuil (3 dans ce cas), nous pouvons contrôler le niveau d'exclusion des valeurs aberrantes. Un seuil plus petit entraînera une détection plus conservatrice des valeurs aberrantes, tandis qu'un seuil plus grand exclura davantage de valeurs aberrantes potentielles.
Grâce à cette approche, nous pouvons identifier et supprimer efficacement les valeurs aberrantes susceptibles de fausser l'analyse de notre Pandas DataFrame.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!