DataFrame의 결측치를 시각화 해서 확인하기 - missingno 사용
데이터를 불러왔을 때 결측 값의 유무를 isnull( ) 또는 isna( ) 함수를 사용하여 확인할 수 있지만
missingno.matrix( ) 를 사용하여 시각화하여 확인할 수 도 있다.
그러려면 우선 missingno 라는 라이브러리가 설치되어 있어야 한다.
예시를 위해 seaborn 에서 기본적으로 제공하는 데이터셋 중 하나인 titanic 데이터를 불러 오겠다.
1. 필요한 라이브러리 import
import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# 데이터 분석에 있어서 기본적인 라이브러리 import
1 - 2. missingno 라이브러리 설치 후 import 하기
try : # missingno 라이브러리가 설치가 되어있으면 바로 import
import missingno as msno
except : # 설치가 안되어있다면 설치 후 import
!pip install missingno
import missingno as msno
try - except 구문을 사용하여 이 라이브러리가 이미 설치되어 있다면 import를 하고,
설치가 안되어있다면 설치 후 import를 해 주었다. 나의 경우에는 이미 설치가 되어 있었다.
이미 설치가 되어있는 경우 아래와 같이 나온다.
Requirement already satisfied : ~~~~
설치가 완료되었다면 예시로 볼 데이터셋을 불러오자.
2. 타이타닉 데이터 셋 불러오기
titanics = sns.load_dataset('titanic')
titanics
실행하면 위와 같은 데이터 프레임이 보인다. age 열과 deck 열에 벌써 결측치가 있는 것을 알 수 있다.
3. matrix 로 결측치 시각화하기
msno.matrix(titanics)
plt.show()
missingno 라이브러리의 matrix( ) 함수를 사용하면 값이 있는 부분은 칠하고, 값이 없는 부분 즉 결측 데이터는 칠하지 않아서 흰색으로 표시되게 된다.
실행하면 아래와 같은 그래프를 볼 수 있다.
age 와 deck 에 결측치가 있고, embarked 와 embark_town 열에도 결측치가 있었음을 확인할 수 있다.
맞게 나온 것인지 확인하기 위해서 데이터 프레임을 확인해보자.
titanics.isna().sum()
실제로 embarked 와 embark_town 에 각각 2개씩의 결측치가 있었고, matrix 로 잘 시각화 된 것임을 알 수 있었다.
'self.python' 카테고리의 다른 글
[python] 데이터 프레임 열 순서 변경하는 방법 (0) | 2022.05.17 |
---|---|
[python] 재귀호출로 최대공약수 구하기 - 유클리드 호제법 이용 (0) | 2022.05.16 |
[python] DataFrame 의 결측값, 중복값 확인하고 제거하기 (0) | 2022.05.12 |
[python] 정규표현식(Regular Expressions)과 메타문자 정리 (0) | 2022.05.12 |
[python] seaborn 기본 제공 데이터셋 불러오기, heatmap 그리기 (0) | 2022.05.11 |
댓글