Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Mengenalpasti dan Mengalih Keluar Outlier daripada Pandas DataFrame Menggunakan Z-skor?

Bagaimanakah Saya Boleh Mengenalpasti dan Mengalih Keluar Outlier daripada Pandas DataFrame Menggunakan Z-skor?

Patricia Arquette
Lepaskan: 2024-11-30 12:39:14
asal
642 orang telah melayarinya

How Can I Identify and Remove Outliers from a Pandas DataFrame Using Z-scores?

Kenal pasti dan Kecualikan Outlier dalam DataFrame panda

Dalam panda DataFrame dengan berbilang lajur, mengenal pasti dan mengecualikan outlier berdasarkan nilai lajur tertentu boleh meningkatkan ketepatan dan kebolehpercayaan data. Outlier, atau nilai ekstrem yang menyimpang dengan ketara daripada majoriti data, boleh memesongkan hasil analisis dan membawa kepada kesimpulan yang salah.

Untuk menapis outlier dengan berkesan, pendekatan yang teguh adalah bergantung pada teknik statistik. Satu kaedah melibatkan penggunaan skor Z, ukuran berapa banyak sisihan piawai sesuatu nilai terletak daripada min. Baris dengan skor Z yang melebihi ambang yang telah ditetapkan boleh dianggap sebagai outlier.

Menggunakan sciPy.stats.zscore

Pustaka sciPy menyediakan fungsi zscore() untuk mengira Z -skor untuk setiap lajur dalam DataFrame. Berikut ialah penyelesaian yang elegan untuk mengesan dan mengecualikan outlier:

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

df = pd.DataFrame({'Vol': [1200, 1220, 1215, 4000, 1210]})

outlier_threshold = 3

# Compute Z-scores for the 'Vol' column
zscores = np.abs(stats.zscore(df['Vol']))

# Create a mask to identify rows with outliers
outlier_mask = zscores > outlier_threshold

# Exclude rows with outliers
df_without_outliers = df[~outlier_mask]
Salin selepas log masuk

Pendekatan ini berkesan mengenal pasti baris outlier dan mengalih keluarnya daripada DataFrame.

Mengendalikan Berbilang Lajur

Dalam kes berbilang lajur, pengesanan outlier boleh digunakan pada yang khusus lajur atau semua lajur serentak:

# Outliers in at least one column
outlier_mask = (np.abs(stats.zscore(df)) < outlier_threshold).all(axis=1)

# Remove rows with outliers in any column
df_without_outliers = df[~outlier_mask]
Salin selepas log masuk
# Outliers in a specific column ('Vol')
zscores = np.abs(stats.zscore(df['Vol']))
outlier_mask = zscores > outlier_threshold

# Remove rows with outliers in the 'Vol' column
df_without_outliers = df[~outlier_mask]
Salin selepas log masuk

Dengan menggunakan kaedah statistik seperti pengiraan skor Z, adalah mungkin untuk mengesan dan mengecualikan outlier dengan cekap dalam DataFrame panda, memastikan data yang lebih bersih dan lebih dipercayai untuk analisis.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengenalpasti dan Mengalih Keluar Outlier daripada Pandas DataFrame Menggunakan Z-skor?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan