본문 바로가기
Data Visualization/Python Lib

[Pandas] 데이터셋의 결측치를 구하고 처리하는 방법 (isnull, dropna, fillna)

by jangThang 2023. 6. 16.
반응형

 판다스에서 데이터셋의 결측치를 구하고 이를 처리하는 방법을 알아봅니다. 또한 결측치란 무엇이고, 이에 대한 처리가 왜 중요한지도 알아봅니다.

 

[ Contents ]

     

     

    1. 결측치(missing value)

    비어있거나 존재하지 않는 값

     

     결측치는 영어로 missing value로, 누락된 값을 뜻합니다.

     데이터셋에서는 null이라고 표시되며, 흔히 널값이라고 부릅니다.

     

     

    2. 결측치 확인

    DataFrame.isnull()

     데이터셋 내 결측치는 isnull() 함수로 확인합니다.

     

     

     isnull()함수는 null값은 True, 정상값은 False로 반환합니다. DB에서 null값이 항상 문제가 되듯이, 데이터분석에서도 결측치는 문제가 됩니다.

     따라서 전처리 과정에서 결측치는 반드시 제거되어야 하며, 이를 위한 방법에는 여러 가지가 있습니다.

     

     

     

    3. 결측치 처리

     1) 결측치 삭제

     결측치가 너무 많은 열의 경우, 아예 해당 열을 제거합니다. 하지만 그런 경우는 적으며, 대체로 결측치가 있는 행만 제거합니다.

     

    DataFrame.dropna()

     결측치는 dropna()를 통해서 제거합니다.

     

     

     2) 결측치 대체

    결측치를 평균, 중앙값, 최빈값 등으로 대체합니다. 주로 이 방식을 사용하며, 데이터량이 적은 데이터셋에서는 필히 사용됩니다. 다만 결측치가 너무 많을 경우, 대체값으로 편향된다는 치명적인 단점이 있습니다.

     

    DataFrame.fillna(대체값)

      결측치 대체는 fillna를 사용합니다.

     

    mean_value = df['결측치 칼럼'].mean()
    median_value = df['결측치 칼럼'].median()
    mode_values = df['결측치 칼럼'].mode()

     평균, 중간값, 최빈값은 다음과 같이 구할 수 있습니다.

     

     

     

     3) 결측치 예측

     주변 값들을 토대로 결측치를 예측하여 채우는 방식입니다. 소수의 라벨링된 데이터와 대다수의 라벨이 없는 데이터로 학습하는 '반지도 학습(semi-supervised learning)'과 비슷하게 결측치를 예측하는 모델을 사용합니다.

     이 방법은 데이터의 패턴을 고려하여 결측치를 대체하는 방식으로 회귀모델이나 KNN 알고리즘, 결정트리 등을 활용합니다.

     

    star가 되고나서 Tistory

    반응형

    댓글