Pandas DataFrame에서 이상값 식별 및 제외
여러 열이 있는 Pandas DataFrame에서 특정 열 값을 기반으로 이상값을 식별하고 제외할 수 있습니다. 데이터의 정확성과 신뢰성을 향상시킵니다. 이상값, 즉 대부분의 데이터에서 크게 벗어나는 극단값은 분석 결과를 왜곡하고 잘못된 결론으로 이어질 수 있습니다.
이상값을 효과적으로 필터링하기 위한 강력한 접근 방식은 통계 기법에 의존하는 것입니다. 한 가지 방법은 값이 평균에서 얼마나 많은 표준 편차를 가지고 있는지 측정하는 Z-점수를 사용하는 것입니다. 사전 정의된 임계값을 초과하는 Z 점수가 있는 행은 이상값으로 간주될 수 있습니다.
sciPy.stats.zscore 사용
sciPy 라이브러리는 Z를 계산하는 zscore() 함수를 제공합니다. -DataFrame의 각 열에 대한 점수. 다음은 이상값을 감지하고 제외하는 우아한 솔루션입니다.
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]
이 접근 방식은 이상값 행을 효과적으로 식별하고 DataFrame에서 제거합니다.
여러 열 처리
컬럼이 여러 개인 경우 특정 컬럼 또는 전체 컬럼에 이상치 탐지 적용 가능 동시에:
# 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]
Z-점수 계산과 같은 통계 방법을 사용하면 Pandas DataFrame에서 이상값을 효율적으로 감지하고 제외하여 더 깨끗하고 신뢰할 수 있는 분석 데이터를 확보할 수 있습니다.
위 내용은 Z 점수를 사용하여 Pandas DataFrame에서 이상값을 식별하고 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!