데이터 분석에서 결측치(missing value) 처리는 분석 결과의 신뢰성과 정확성에 영향을 미치므로 신중하게 접근해야 합니다. 일반적인 결측치 처리 방법은 다음과 같습니다.
결측치 확인
• isnull().sum(): 각 변수별 결측치 개수 확인
• info() : 데이터 유형 및 결측치 여부 확인
• describe(): 기술 통계를 활용하여 이상값 및 결측치 탐색
결측치 처리 방법
1. 결측 데이터 삭제 (Removing Missing Data)
• 행 삭제 (dropna()) : 결측값이 포함된 행을 제거 (결측치가 적을 때 사용)
• 열 삭제 (dropna(axis=1)) : 특정 열에 결측치가 많다면 해당 열 삭제 (데이터 손실이 크므로 신중해야 함)
2. 결측값 대체 (Imputation)
• 수치형 데이터 대체
• 평균 (fillna(df.mean())): 데이터가 정규분포를 따를 경우
• 중앙값 (fillna(df.median())): 이상치(outlier)가 많을 경우
• 최빈값 (fillna(df.mode().iloc[0])): 범주형 데이터의 대표값 활용
• 선형 보간법 (interpolate()): 시간 순서가 있는 경우 활용 가능
• 범주형 데이터 대체
• 최빈값 (fillna(df['column'].mode()[0]))
• “Unknown”, “Other” 등의 대체값 지정
3. 예측 모델 기반 대체 (Advanced Imputation)
• KNN (K-Nearest Neighbors) 대체
• 유사한 데이터 패턴을 기반으로 결측값을 채움
• 회귀모델을 사용한 예측 대체
• 결측값을 종속 변수로 설정하고, 다른 변수를 이용해 예측하여 대체
결측치 처리 방법 선택 기준
상황 | 추천 방법 |
결측치가 소량(5% 이하) | 삭제 (dropna) 또는 평균/중앙값 대체 |
결측치가 많고 규칙이 없음 | 최빈값 또는 특정 값(예: ‘Unknown’)으로 대체 |
연속형 데이터가 정규분포 | 평균 대체 |
이상치가 많거나 분포가 왜곡됨 | 중앙값 대체 |
시계열 데이터 | 선형 보간법 또는 이동 평균 |
고급 방법 필요 | KNN 또는 회귀모델 기반 대체 |
결측치 처리는 데이터 분석의 중요한 과정이므로 데이터 특성을 고려하여 적절한 방법을 선택하는 것이 중요합니다.
'IT > 데이터 분석' 카테고리의 다른 글
파이썬 데이터 분석 절차 (1) | 2025.02.23 |
---|