결측값이란?
1. 결측값 처리 방법
결측값을 처리하는 방법은 데이터의 성격, 결측값의 비율, 그리고 분석 목표에 따라 달라질 수 있음
1) 결측값 제거
2) 결측값 대체(Imputation)
3) 기타 방법
2. 이상치와 결측값의 차이
구분 | 결측값 | 이상치 |
정의 | 값이 누락된 상태 | 정상 데이터 분포에서 크게 벗어난 값 |
발생 원인 | 데이터 수집 오류, 누락 등 | 잘못된 입력, 드문 사건 등 |
처리방법 | 제거 또는 대체 | 탐지 후 제거, 변환, 또는 별도 분석 |
예시 | NaN, NULL, 빈 값 | 1,000kg의 사람 몸무게 |
3. 결측값 처리 예제 코드
import pandas as pd
import numpy as np
# 예제 데이터셋 생성
data = {
'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eve'],
'Age': [25, np.nan, 30, 35, np.nan],
'Score': [85, 90, np.nan, 75, 95]
}
df = pd.DataFrame(data)
# 1. 결측값 확인
print("결측값 확인:")
print(df.isnull())
# 2. 결측값 제거
print("\n결측값 제거:")
print(df.dropna()) # 결측값이 포함된 행 제거
# 3. 결측값 대체 (평균으로 대체)
mean_age = df['Age'].mean()
df['Age'].fillna(mean_age, inplace=True)
print("\n결측값 평균으로 대체 (Age):")
print(df)
# 4. 결측값 대체 (중앙값으로 대체)
median_score = df['Score'].median()
df['Score'].fillna(median_score, inplace=True)
print("\n결측값 중앙값으로 대체 (Score):")
print(df)
Data Preprocessing - 데이터 형 변환 (2) | 2024.11.13 |
---|---|
Data Preprocessing - 이상치 탐지 (0) | 2024.11.11 |
Data Preprocessing - 그룹 연산 (0) | 2024.09.26 |
Data Preprocessing - groupby (1) | 2024.09.26 |
Data Preprocessing - 데이터 프레임 통합 (1) | 2024.09.22 |