Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengenalpasti dan Mengalih Keluar Outlier daripada Pandas DataFrame Menggunakan Z-skor?
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]
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]
# 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]
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!