나는야 데이터사이언티스트/PYTHON

[Python] 결측치 확인 방법

우주먼지의하루 2021. 8. 11. 00:02
728x90

1) 컬럼별 결측치 확인

df.isnull().sum()

 

2) 결측치 비율 확인

df_missing = df_service
np.sum(df_missing.isnull())
missing_number = df_missing.isnull().sum().sort_values(ascending=False)
missing_percentage = missing_number/len(df_missing)
missing_info = pd.concat([missing_number,missing_percentage],  axis=1, keys=['missing number','missing percentage'])
missing_info.head(50)

 

3) 그래프로 확인

import missingno as msno
import matplotlib.pyplot as plt

plt.figure(figsize=(5,5))
msno.matrix(df)
plt.show()


* 결측치 처리 방법*

 

1. 해당 튜플 무시
    – 주로 분류 문제에서 클래스 구분 라벨이 빠진 경우
    – 결측치가 자주 발생하는 환경에서는 비효율적


2. 기준에 따라 자동으로 채우기
    – 결측치에 대한 값을 별도로 정의: 예) "unknown“
    – 통계: 전체 평균값, 같은 클래스에 속한 데이터의 평균값
    – 추정: 베이지안 확률 추론, 결정 트리


3. 전문가가 직접 값을 채우기
    – 가장 신뢰성 있으나 시간과 노력 크게 소모
    – 비효율적

 

 

데이터 전처리 필요성 및 방법(Feature Engineering, EDA)

이상값의 원인 데이터 전처리를 말하기 전에 이상값부터 먼저 말하고 싶다. 이상값의 원인? 우리가 이상 값을 발견할 때마다 이를 해결하는 이상적인 방법은 이러한 이상값을 갖는 이유를 찾는

rk1993.tistory.com

 

반응형