Maison > développement back-end > Tutoriel Python > Comment les Z-Scores peuvent-ils aider à identifier et à supprimer les valeurs aberrantes des DataFrames Pandas ?

Comment les Z-Scores peuvent-ils aider à identifier et à supprimer les valeurs aberrantes des DataFrames Pandas ?

DDD
Libérer: 2024-12-02 18:19:15
original
243 Les gens l'ont consulté

How Can Z-Scores Help Identify and Remove Outliers from Pandas DataFrames?

Détection et exclusion des valeurs aberrantes dans les DataFrame Pandas à l'aide des Z-Scores

Identifier et supprimer les valeurs aberrantes d'un DataFrame Pandas est crucial pour garantir l'exactitude et fiabilité de l'analyse des données. Pour y parvenir, une approche courante consiste à utiliser les scores Z, qui mesurent le nombre d'écarts types entre un point de données et la moyenne.

La mise en œuvre de cette approche nécessite l'utilisation de la fonction scipy.stats.zscore, qui calcule les scores Z pour un tableau de données donné. En appliquant des scores Z à chaque colonne d'un DataFrame, il devient possible de déterminer quelles lignes contiennent des valeurs significativement différentes de la moyenne.

Par exemple, pour exclure toutes les lignes où se trouve une colonne spécifique, telle que " Vol", contient des valeurs aberrantes, l'expression suivante peut être utilisée :

df[(np.abs(stats.zscore(df["Vol"])) < 3).all(axis=1)]
Copier après la connexion

Cette expression calcule le score Z absolu pour chaque valeur de la colonne "Vol". Les valeurs absolues sont utilisées pour ne pas tenir compte de la direction de l'écart par rapport à la moyenne. Le résultat est un masque booléen où True indique les lignes sans valeurs aberrantes. L'utilisation de ce masque pour indexer le DataFrame exclut efficacement les lignes avec des valeurs « Vol » extrêmes.

Si plusieurs colonnes doivent être prises en compte, la syntaxe peut être modifiée pour inspecter les lignes avec des valeurs aberrantes dans n'importe quelle colonne :

df[(np.abs(stats.zscore(df)) < 3).all(axis=1)]
Copier après la connexion

Dans ce cas, (np.abs(stats.zscore(df)) < 3) calcule les scores Z pour toutes les colonnes et applique le 3 seuils d’écart type. La condition all(axis=1) sélectionne les lignes qui répondent aux critères pour toutes les colonnes.

En utilisant les scores Z et les expressions fournies, il devient simple de filtrer les points de données aberrants, garantissant ainsi un ensemble de données propre et fiable. pour une analyse plus approfondie.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal