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 ?

Comment détecter et exclure efficacement les valeurs aberrantes dans les DataFrames Pandas à l'aide des scores Z ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-01 04:54:14186parcourir

How to Effectively Detect and Exclude Outliers in Pandas DataFrames Using Z-scores?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn