핵심 요약
- 빈칸(결측치)은 지우거나 채우기 전에 어디에 몇 칸 있는지부터 AI에게 묻습니다.
- 빈칸이 있는 행을 모두 지우면 60행이 51행이 되고, 채울 때는 입력 실수부터 정리해야 합니다.
- “없어서 0″과 “몰라서 빈칸”은 다른 정보라서, 모르는 칸을 0으로 채우지 않습니다.
오늘의 질문조사표에 빈칸이 몇 개 있는데, 그 줄을 지워야 할까, 평균으로 채워야 할까?
결측치 처리는 비어 있는 칸을 지울지, 채울지, 그대로 둘지 정하는 일입니다. 결측치 처리 방법을 고르기 전에, 빈칸이 어디에 있고 왜 비었는지부터 봐야 합니다.
이 글에서는 이 연재에서 계속 쓰는 가상의 조사 데이터(조사지 3곳 × 방형구 20곳)로 AI에게 물을 프롬프트 세 개를 보여 드립니다. 결과 상자의 숫자는 이 데이터로 실제 계산한 값입니다. 어떤 칸을 지우고 채울지는 AI가 아니라 연구자가 정합니다.
연재AI와 함께하는 연구 데이터 분석
- 시작 전에: 연구자의 AI 작업실 만들기 설치·준비 4편
- 1편. AI 데이터 분석, 무엇을 맡길까
- 2편. 데이터 탐색, AI에게 먼저 물을 것
- 3편. 그룹별 비교와 상관관계 묻기
- 4편. ChatGPT로 CSV 그래프 그리기
- 5편. 결측치 처리: 지울까, 채울까 지금 읽는 글
- 6편. 분석 전 데이터 정리 맡기기 준비 중
- 7편. 이상한 값과 입력 실수 찾기 준비 중
- 8편. 숫자 예측 모델, AI로 돌리기 준비 중
이 편에서 AI에게 맡길 일
결측치는 데이터 표에서 비어 있는 칸입니다. 빈칸을 다루는 방법은 크게 세 가지입니다.
- 지우기: 빈칸이 있는 행을 뺍니다. 간단하지만 그 행의 멀쩡한 값까지 함께 잃습니다.
- 채우기: 나머지 값으로 빈칸의 값을 짐작해 넣습니다. 이 일을 대체(imputation)라고 합니다.
- 그대로 두기: 빈칸인 채로 두고, 그 값이 필요한 계산에서만 뺍니다.
출석부를 떠올리면 쉽습니다. 이름 옆 칸이 비어 있을 때, 결석인지 그날 출석을 안 불렀는지는 출석부만 봐서는 모릅니다. AI는 빈칸을 세고 방법별 결과를 비교해 주지만, 빈칸의 뜻은 조사한 사람만 압니다.
AI에게 결측치 처리 맡기기 3단계
1. 빈칸 위치와 지우면 남는 행 묻기
이렇게 요청합니다
quadrat_survey.csv에서 빈칸이 있는 열을 찾아서,
열마다 빈칸 수와 빈칸인 방형구 번호를 표로 정리해 줘.
빈칸이 하나라도 있는 행을 모두 지우면 몇 행이 남는지,
토양 pH가 빈 행만 지우면 몇 행이 남는지도 표로 보여 줘.
아직 파일은 고치지 마.
이렇게 나옵니다
| 빈칸이 있는 열 | 빈칸 수 | 빈칸인 방형구 |
|---|---|---|
| 토양 pH | 4 | A05, B04, C02, C18 |
| 토양 수분 (%) | 2 | A13, B11 |
| 종 A 피도 (%) | 2 | A09, B17 |
| 바이오매스 (g/m²) | 1 | A20 |
| 처리 | 남는 행 |
|---|---|
| 원래 데이터 | 60 |
| 빈칸이 있는 행을 모두 지움 | 51 |
| 토양 pH가 빈 행만 지움 | 56 |
빈칸은 네 열에 모두 9칸입니다. 9칸이 서로 다른 방형구에 흩어져 있어서, 빈칸이 있는 행을 모두 지우면 60행 중 9행이 빠지고 51행이 남습니다. 토양 pH만 분석한다면 그 열이 빈 행만 지워서 56행을 남길 수 있습니다.
생각해 볼 점
- 행을 지우면 그 행의 다른 값도 함께 사라집니다. 토양 pH를 보는데 바이오매스만 빈 A20까지 뺄 이유는 없습니다.
- 지우기 전에 왜 비었는지 묻습니다. 경사가 급한 곳에서만 흙을 못 떴다면, 지운 뒤 남은 데이터는 완만한 곳 위주로 기웁니다.
2. 채우는 방법 비교하기
이렇게 요청합니다
quadrat_survey.csv의 토양 pH 빈칸을 채우는 방법을 비교하고 싶어.
pH는 0–14 사이여야 하니, 이 범위를 벗어난 값이 있는지 먼저 봐 줘.
그 값을 그대로 둘 때와 빈칸으로 돌릴 때의 평균과 중앙값을 표로 비교해 줘.
그다음 벗어난 값을 빈칸으로 돌린 상태에서 조사지별 중앙값과,
조사지마다 채워야 할 방형구를 표로 보여 줘. 파일은 고치지 마.
이렇게 나옵니다
| 토양 pH | 평균 | 중앙값 |
|---|---|---|
| 58.3을 그대로 둠 | 6.42 | 5.51 |
| 58.3을 빈칸으로 돌림 | 5.48 | 5.48 |
| 조사지 | 중앙값 | 채울 방형구 |
|---|---|---|
| A | 5.38 | A05 |
| B | 6.04 | B04 |
| C | 4.96 | C02, C08, C18 |
범위를 벗어난 값은 2편에서 찾은 C08의 58.3입니다. pH는 0에서 14 사이의 값이라서 현실에서 나올 수 없습니다. 이 값 하나 때문에 평균은 5.48에서 6.42로 올라가지만, 중앙값은 5.48에서 5.51로 거의 그대로입니다. 중앙값은 값을 크기순으로 줄 세웠을 때 가운데 값이라 튀는 값에 덜 흔들립니다.
조사지별 중앙값은 A 5.38, B 6.04, C 4.96으로 서로 다릅니다. 전체 중앙값 5.48 하나로 채우면 B04에는 조사지 B의 중앙값(6.04)보다 0.5 넘게 낮은 값이 들어갑니다. 그래서 조사지마다 따로 채우는 방법도 함께 비교합니다.
생각해 볼 점
- 58.3은 5.83을 잘못 적은 것으로 보입니다. 채우기 전에 야장을 보고 고칠 수 있는지부터 확인합니다. 고칠 수 있으면 C08은 채울 필요가 없습니다.
- 채운 값은 잰 값이 아니라 짐작한 값입니다. 어느 방형구를 무엇으로 채웠는지 적어 두면, 나중에 채운 행을 빼고 다시 계산해 결론이 같은지 볼 수 있습니다.
3. 0으로 채워도 되는지 묻기
이렇게 요청합니다
quadrat_survey.csv에서 종 A 피도가 빈 방형구를 종 A 출현 여부와 함께 표로 보여 줘.
그리고 종 A가 출현한 방형구만 골라서,
피도 빈칸을 그대로 둘 때와 0으로 채울 때의 평균 피도와 계산에 쓴 방형구 수를 표로 비교해 줘.
이렇게 나옵니다
| 방형구 | 종 A 출현 (1=있음) | 종 A 피도 (%) |
|---|---|---|
| A09 | 1 | 빈칸 |
| B17 | 1 | 빈칸 |
| 종 A가 있던 곳 | 평균 피도 (%) | 계산에 쓴 방형구 |
|---|---|---|
| 빈칸 그대로 둠 | 12.0 | 15 |
| 빈칸을 0으로 채움 | 10.6 | 17 |
종 A 피도가 빈 두 곳(A09, B17)은 모두 종 A가 있었다(1)고 적혀 있습니다. 빈칸을 그대로 두면 기록된 15곳으로 평균을 내서 12.0%입니다. 0으로 채우면 17곳의 평균이 되어 10.6%로 내려갑니다.
생각해 볼 점
- 0은 “확인해 보니 없었다”는 기록이고, 빈칸은 “모른다”는 표시입니다. 이 두 칸을 0으로 채우면 “있었는데 덮은 면적은 0%”라는 앞뒤가 안 맞는 기록이 생깁니다.
- 빈칸이 생긴 이유(적는 것을 잊었는지, 잴 수 없었는지)를 야장에서 확인해 메모해 둡니다. 논문 방법 절에 빈칸을 어떻게 다뤘는지 쓸 때 그대로 쓸 수 있습니다.
지울까, 채울까, 그대로 둘까
세 단계를 거치면 열마다 처리 방법을 정할 수 있습니다. 이 데이터에서 본 기준을 표로 모았습니다.
| 이런 빈칸이면 | 처리 방법 | 이유 |
|---|---|---|
| 이번 분석에 쓰지 않는 열의 빈칸 | 그 열 때문에 행을 지우지 않음 | 필요한 값까지 함께 빠짐 |
| 튀는 값이 섞인 숫자 열의 빈칸 | 튀는 값을 먼저 정리하고 중앙값으로 채움 | 평균은 튀는 값에 끌려감 |
| 조사지마다 수준이 다른 열의 빈칸 | 조사지별 중앙값을 검토 | 전체 값 하나는 조사지 차이를 가림 |
| 있었지만 적지 못한 값 | 빈칸 그대로 둠 | 0은 “없었다”는 뜻 |
평균처럼 값 하나로 빈칸을 채우면, 결과의 불확실성이 실제보다 작게 잡힙니다. 빈칸이 많거나 채운 값에 따라 결론이 달라진다면, 이 글의 방법만으로는 부족합니다. 통계 전문가와 상의하는 것이 좋습니다.
정리
결측치 처리는 AI에게 세 가지를 차례로 물으면 준비가 끝납니다. 빈칸이 어디에 몇 칸 있고 지우면 몇 행이 남는지, 채우는 방법마다 값이 어떻게 달라지는지, 0과 빈칸을 헷갈린 칸은 없는지입니다. 이 데이터에서는 빈칸 9칸, 입력 실수 58.3, 0으로 채우면 안 되는 종 A 피도 2칸이 드러났습니다. 어느 칸을 어떻게 다뤘는지 메모로 남겨 두는 것이 좋습니다.
다음 편 예고분석 전 데이터 정리 맡기기: 글자로 된 범주를 숫자로 바꾸고, 단위가 다른 변수를 맞춰 달라고 AI에게 부탁하는 법을 다룹니다.
출처
- scikit-learn 공식 문서, “Imputation of missing values” (2026년 9월 29일 확인)
- Stef van Buuren, “Flexible Imputation of Missing Data” 2판, 1.3절 “Ad-hoc solutions” (2026년 9월 29일 확인)
- Shinichi Nakagawa, “Missing data: mechanisms, methods, and messages”, Ecological Statistics 4장 (Oxford University Press, 2015)
- NIST/SEMATECH e-Handbook of Statistical Methods, 1.3.5.1 “Measures of Location” (2026년 9월 29일 확인)
- OpenStax, “Introductory Statistics 2e” 2.5절 “Measures of the Center of the Data” (2026년 9월 29일 확인)
- Data Carpentry, “Data Organization in Spreadsheets for Ecologists: Formatting Problems” (2025년 7월 23일 갱신, 2026년 9월 29일 확인)
- Ethan P. White 외, “Nine simple ways to make it easier to (re)use your data”, Ideas in Ecology and Evolution 6(2) (2013)
- 미국 지질조사국(USGS) Water Science School, “pH and Water” (2026년 9월 29일 확인)
- 미국 환경보호청(EPA) CADDIS, “pH” (2026년 9월 29일 확인)