13. 표 데이터의 오류 찾기
표 데이터에서 중복, 누락, 형식 오류를 찾는 교안이다.
표 분석을 AI에 맡겨도 원자료와 계산 결과를 사람이 다시 확인해야 한다. AI가 빈값을 0으로 바꾸거나 이상값을 오류로 단정하면 실제 기록이 손상될 수 있다.
CSV는 쉰표로 표의 열을 구분해 저장하는 텍스트 파일이다. 스프레드시트 프로그램과 일반 텍스트 편집기에서 열 수 있지만, 저장 형식이 바뀌면 한글이나 열 구분이 깨질 수 있다.
"ai_prompt" 폴더에 "13_수강현황.csv"를 만든다.id,name,course,hours
1,김하나,파이썬,18
2,이준호,HTML,15
3,박서연,파이썬,
3,박서연,파이썬,
5,최민지,HTML,150
6,,파이썬,12
Ctrl+S로 저장한다.저장 후 파일 이름이 13_수강현황.csv.txt가 아닌지 확인한다. 메모장에서 저장 형식을 선택할 수 있으면 모든 파일을 선택하고 UTF-8로 저장한다.
첨부 CSV를 수정하지 않고 진단한다.
다음 항목을 표로 작성한다.
- 열 이름
- 데이터 형식
- 빈값 수
- 중복 가능성
- 이상값 가능성
판단 근거가 되는 행 번호를 표시한다.
hours 빈값id=3 중복hours=150 이상값 가능성"13_데이터점검.txt"에 저장한다.중복: 모든 값이 같은 행은 한 행만 남긴다.
빈 이름: 삭제하지 않고 확인 필요로 표시한다.
빈 시간: 0으로 바꾸지 않고 확인 필요로 표시한다.
150시간: 오류로 단정하지 않고 원자료 확인 대상으로 표시한다.
아래 수정 규칙을 적용한 정리안을 만든다.
원본 파일은 변경하지 않는다.
<수정 규칙>
[수정 규칙을 붙여 넣는다]
</수정 규칙>
출력:
1. 변경 대상 행
2. 적용할 규칙
3. 변경 후 값
4. 사람이 확인할 항목
확정된 hours 값만 사용한다.
빈값과 150은 합계에서 제외한다.
중복 행은 한 번만 계산한다.
과정별 확정 시간 합계와 제외한 행을 함께 표시한다.
파이썬: 18 + 12 = 30
HTML: 15
빈값을 추정하지 않는다.
값이 없으면 null로 유지하고 확인 필요 이유를 적는다.
id만 같은지 모든 열이 같은지 확인한다.모든 열의 값이 같은 행만 완전 중복으로 처리한다.
id만 같은 행은 충돌 가능성으로 분리한다.
문제 | 행 | 처리
hours 빈값 | 4, 5 | 확인 필요로 유지
완전 중복 | 4, 5 | 한 행만 남기는 정리안 제시
hours 150 | 6 | 이상값 가능성, 원자료 확인
name 빈값 | 7 | 삭제하지 않고 확인 필요
확정 합계: 파이썬 30시간, HTML 15시간
오류를 임의로 고치지 않고 행 위치와 확인 방법을 표시하면 정상이다.
.csv.txt로 바뀐지 않았는지 확인한다.