개발로그필름

[데이터 TIL] 칼럼별 결측치 비율 확인하기 본문

데이터분석가/데이터 TIL

[데이터 TIL] 칼럼별 결측치 비율 확인하기

yuullog 2025. 2. 6. 20:47
728x90
반응형
SMALL

보통 컬럼별 결측치 개수 확인하는 방법은 간단하다

health_df.isnull().sum()

이 코드 한 줄 실행시키면 칼럼별 결측치 개수가 쭉 나온다

 

그렇다면 컬럼별 결측치 비율은 어떻게 확인할까?

✅ 결측치 비율을 확인하는 방법

health_df.isnull().mean() * 100

이 코드는 좀 생소하다. mean()은 평균값 구하는 함수 아닌가? 왜 저기에?

하나하나 차근차근 살펴보도록 하자

 

mean()이 일반적으로 평균값을 계산하는 함수이지만, isnull()과 함께 사용하면 결측치 비율을 구할 수 있다

 

반응형

 

✅ 1. isnull()이 하는 일

health_df.isnull()

이 함수는 각 값이 결측치인지(True) 아닌지(False)를 반환하는 불리언 데이터프레임을 만든다

True1, False0으로 처리됨.

 

✅ 2. mean()이 어떻게 결측치 비율을 구하는가?

불리언 값을 mean() 함수에 적용하면, 각 컬럼의 True(=1)의 평균값을 계산

health_df.isnull().mean()

가상의 데이터가 있다고 가정하고 True(1)의 개수를 컬럼별로 나누어 보면:

A: (0 + 1 + 0) / 3 = 0.3333 (33.33%)

B: (1 + 0 + 0) / 3 = 0.3333 (33.33%)

C: (0 + 1 + 0) / 3 = 0.3333 (33.33%)

 

즉, mean()을 사용하면 전체 데이터 개수 대비 NaN의 비율을 자동으로 계산해 주는 것

 

 

✅ 3. 100을 곱하는 이유?

소수(0~1) 형태로 비율이 나오므로 퍼센트(%)로 보기 쉽게 만들려면 * 100

health_df.isnull().mean() * 100

이제 결측치 비율이 퍼센트(%)로 변환돼서 각 컬럼의 결측치 비율을 직관적으로 확인 가능

 

그래서 한 줄로 결측치 비율을 쉽게 구할 수 있는 것이다~

 

✅ 결측치 개수와 비율을 한 번에 보기

보통 개수, 비율을 한 번에 확인하니까 같이 보는 방법도 알아보자

health_df.isnull().agg(['sum', 'mean']) * [1, 100]

 

반응형
LIST
Comments