Maison >développement back-end >Tutoriel Python >Comment détecter et exclure efficacement les valeurs aberrantes dans les DataFrames Pandas à l'aide des scores Z ?
Détection et exclusion des valeurs aberrantes dans les DataFrames Pandas
Lorsque vous travaillez avec des ensembles de données, il est crucial d'identifier et de gérer les valeurs aberrantes, car elles peuvent fausser l'analyse et résultats. Dans les pandas, la détection et l'exclusion des valeurs aberrantes en fonction de valeurs de colonnes spécifiques peuvent être obtenues en utilisant une approche élégante et efficace.
Comprendre le problème
Étant donné un DataFrame pandas avec plusieurs colonnes , certaines lignes peuvent contenir des valeurs aberrantes dans une colonne spécifique, notées « Vol ». La tâche consiste à filtrer le DataFrame et à exclure les lignes où les valeurs de la colonne "Vol" s'écartent considérablement de la moyenne.
Solution utilisant scipy.stats.zscore
Pour y parvenir ceci, nous pouvons exploiter la fonction scipy.stats.zscore :
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]
Cette solution fournit une méthode efficace pour détecter et exclure valeurs aberrantes basées sur une valeur de colonne spécifiée. En utilisant les scores Z, nous pouvons quantifier l’écart des valeurs individuelles par rapport à la moyenne et appliquer un seuil pour identifier les valeurs aberrantes. Le outlier_filtered_df résultant contiendra uniquement les lignes avec des valeurs « Vol » dans la plage spécifiée.
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!