개발로그필름
[데이터 TIL] 칼럼별 결측치 비율 확인하기 본문
728x90
반응형
SMALL
보통 컬럼별 결측치 개수 확인하는 방법은 간단하다
health_df.isnull().sum()
이 코드 한 줄 실행시키면 칼럼별 결측치 개수가 쭉 나온다
그렇다면 컬럼별 결측치 비율은 어떻게 확인할까?
✅ 결측치 비율을 확인하는 방법
health_df.isnull().mean() * 100
이 코드는 좀 생소하다. mean()은 평균값 구하는 함수 아닌가? 왜 저기에?
하나하나 차근차근 살펴보도록 하자
mean()이 일반적으로 평균값을 계산하는 함수이지만, isnull()과 함께 사용하면 결측치 비율을 구할 수 있다
반응형
✅ 1. isnull()이 하는 일
health_df.isnull()
이 함수는 각 값이 결측치인지(True) 아닌지(False)를 반환하는 불리언 데이터프레임을 만든다
True는 1, False는 0으로 처리됨.
✅ 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
'데이터분석가 > 데이터 TIL' 카테고리의 다른 글
[데이터 TIL] 히트맵을 알아보자 (1) | 2025.02.07 |
---|---|
[데이터 TIL] 수치형 데이터와 범주형 데이터의 차이 (0) | 2025.02.07 |
[데이터 TIL] pandas에서 CSV 파일을 읽을 때 한글 인코딩 문제 해결 (0) | 2025.02.06 |
[데이터 TIL] to_datetime() vs to_timedelta() 차이점 (1) | 2025.02.06 |
TransactionEncoder를 사용한 변환 (0) | 2025.02.05 |
Comments