본문 바로가기
성공지식백과 로고성공지식백과
블로그실전 활용

AI 데이터 분석을 믿기 전에: 계산·누락값·단위를 확인하는 법

그럴듯한 분석 문장도 중복 행, 다른 단위, 평균의 분모 때문에 틀릴 수 있습니다. 여덟 행의 가상 주문 데이터를 직접 검산해 입력부터 그래프 해석까지 확인할 순서를 설명합니다.

데이터 분석검산데이터 품질통계
글 정성준 6분 읽기
공유:

AI가 쓴 보고서에서 ‘4월 주문금액 합계 6만 원, 평균 1만 2천 원’을 읽었다면, 두 숫자의 계산 대상부터 확인합니다. 금액이 빠진 주문을 합계에서 제외하고 평균의 분모에만 넣었을 수 있습니다. pandas의 합계 문서는 기본적으로 누락값을 건너뛰며, 비어 있거나 전부 누락된 값의 합계도 기본 설정에서는 0이 된다고 설명합니다.

분석의 확인 순서는 입력, 계산, 설명입니다. 행과 단위가 잘못된 표를 계산기로 다시 더해도 업무에서 원하는 결과와 달라집니다. 계산에 사용한 행을 먼저 고정하고, 그다음 합계·분모·필터를 검산한 뒤 마지막에 보고서의 문장을 읽습니다.

행 수와 집계 대상을 먼저 고정한다

한 행이 무엇인지부터 정합니다. 주문 한 건인지 주문의 상품 한 줄인지에 따라 같은 주문번호의 반복이 오류일 수도, 정상 기록일 수도 있습니다. 한 파일의 원본 행 수, 집계 대상 행 수, 빠진 값의 수를 남기면 계산 도중 자료가 줄어든 지점을 찾기 쉽습니다.

중복 제거에는 기준 열과 남길 행의 기준이 필요합니다. pandas의 중복 제거 문서는 중복 판정에 사용할 열을 고르는 subset과 첫 행·마지막 행 등을 남기는 keep을 구분합니다. 주문번호만 같다는 이유로 지우면 정상적인 상품 상세 행이나 수정 이력을 잃을 수 있습니다.

기간은 시작일과 종료일을 명확히 적습니다. 월별 분석이라면 4월 1일 이상, 5월 1일 미만처럼 경계를 정하면 시각이 포함된 데이터에도 같은 기준을 적용하기 쉽습니다. 실제 타임스탬프를 다룰 때는 날짜를 자르기 전에 원본 시간대와 보고서 시간대를 확인합니다.

금액은 원·천 원·외화를, 수량은 개별 개수·묶음 수를 나눠 봅니다. 숫자로 보이는 문자열이 실제 숫자로 변환됐는지, 쉼표나 통화 기호를 지운 뒤 값이 달라지지 않았는지도 확인합니다. 원본 열을 보존하고 변환 결과와 실패 행을 별도로 남기면 잘못된 정제를 되돌릴 수 있습니다.

여덟 행의 시험 데이터로 필터와 단위를 검산한다

다음은 이 설명을 위해 만든 가상 주문 데이터의 전체 여덟 행입니다. 한 주문은 한 행이며, B 주문은 기록번호를 제외한 내용이 같은 의도적 중복입니다. 분석 질문은 ‘2026년 4월 완료 주문의 금액 합계와 평균’으로 정하고, 취소 주문은 제외합니다.

기록주문날짜상태금액단위
1A2026-04-01완료10,000원
2B2026-04-02완료20,000원
3B2026-04-02완료20,000원
4C2026-04-03완료누락원
5D2026-04-04취소50,000원
6E2026-05-01완료40,000원
7F2026-04-05완료30천 원
8G2026-04-06완료0원

F의 30은 원으로 맞추면 30,000입니다. G의 0은 기록된 금액이고 C의 누락은 금액을 알 수 없는 상태입니다. C를 0으로 바꿀지, 제외할지, 확인이 끝날 때까지 전체 결과를 보류할지는 데이터 처리의 가정으로 남습니다.

이 자료를 Python 3.14.8과 십진수 계산으로 검산했습니다. 중복 제거, 기간 필터, 완료 상태 필터, 단위 변환, 알려진 값의 합산을 실제 실행했고, 주문별 원화 금액을 다시 합산해 값이 같은지도 대조했습니다. 아래 수치는 이 가상 자료의 계산 결과입니다.

검사 단계남은 행·건수확인할 대상
원본8행입력 전체
의도한 B 중복 제거7행같은 내용의 B 한 건만 남음
4월 기간 적용6건5월 1일의 E 제외
완료 주문만 선택5건취소된 D 제외
금액이 기록된 완료 주문4건C는 누락, G의 0은 포함

이 순서에서 중복된 B를 남겨 두면 알려진 금액 합계는 8만 원이 됩니다. 완료 주문의 누락값을 별도로 기록하지 않으면 6만 원을 전체 주문의 확정 합계로 옮기기 쉽습니다. 단계별 행 수는 숫자가 달라진 원인을 확인하는 작은 검산 자료가 됩니다.

누락값·0·평균의 분모를 구분한다

금액이 있는 완료 주문 네 건의 원화 금액은 10,000, 20,000, 30,000, 0입니다. 알려진 값의 합계는 60,000원이고, 그 네 건의 평균은 15,000원입니다. 금액이 누락된 C 한 건이 있으므로 완료 주문 다섯 건 전체의 합계와 평균은 이 자료만으로 확정할 수 없습니다.

C를 0원이라고 가정하면 같은 60,000원을 다섯 건으로 나눠 평균 12,000원이 됩니다. 누락된 C를 제외하고 실제로 0원인 G도 평균에서 빼면 세 건의 평균은 20,000원이 됩니다. 세 평균은 분모가 각각 4·5·3이어서 달라집니다. 어떤 주문을 평균에 포함했는지를 설명하지 않고 ‘평균 주문금액’만 쓰면 서로 다른 계산이 같은 지표처럼 보입니다.

pandas의 합계 문서에 있는 min_count는 합계를 계산하는 데 필요한 유효값 수를 정합니다. 기본값은 0이며, 1로 정하면 빈 자료나 모두 누락된 자료에서 합계를 누락값으로 남길 수 있습니다. 이런 옵션은 빈 집합의 합계를 다루는 기준이고, 일부 누락이 있는 주문 전체의 금액을 복원하는 기능과는 구분합니다.

검산 결과를 문장으로 옮길 때는 ‘4월 완료 주문 5건 중 금액이 있는 4건의 합계는 6만 원, 평균은 1만 5천 원이며 1건은 금액 확인이 필요합니다’처럼 대상과 누락을 함께 적습니다. 분석 목적이 전체 주문의 확정 금액이라면 누락된 건을 확인한 뒤 결과를 갱신합니다.

설명·수식·실행 결과를 같은 숫자로 맞춘다

AI가 ‘취소 주문을 제외했다’고 설명해도 실제 수식이나 코드에 그 필터가 있는지 따로 읽습니다. 평균 계산의 분모가 전체 행 수인지, 유효값 수인지 확인하고, 기간과 단위 변환이 합계에도 동일하게 적용됐는지 봅니다. 계산 과정을 설명한 글과 실행 가능한 계산식은 다른 검토 자료입니다.

긴 코드를 전부 다시 읽기 전에 원본 행 수, 필터 후 행 수, 유효값 수, 합계, 최솟값·최댓값을 출력하면 오류가 생긴 단계를 좁힐 수 있습니다. 작은 자료는 몇 행을 직접 더하고, 큰 자료는 전체 합계와 그룹별 합계의 합을 대조합니다. 두 경로가 같아도 같은 전처리 오류를 공유할 수 있어 원본의 몇 행과 필터 경계를 따로 확인합니다.

계산이 완료되면 최종 표와 보고서 문장, 그래프가 같은 결과 파일에서 왔는지 대조합니다. 코드를 수정한 뒤 예전 설명이나 이전 그래프만 남으면 내부 숫자가 어긋납니다. 입력 파일의 버전, 계산식, 실행 시각, 출력 결과를 함께 보존하면 재실행할 자료가 남습니다.

분석 요청의 기본 문형은 직장인 업무 프롬프트 30종의 표 분석·데이터 정리 항목에서 가져올 수 있습니다. 결과를 검토할 때는 계산 대상 행과 분모, 누락 처리 기준, 실제 실행 결과를 추가로 확인합니다.

그래프의 관측과 원인 해석을 나눈다

그래프는 집계표의 단위, 기간, 필터를 그대로 사용했는지 확인합니다. 축의 시작값과 간격, 빠진 날짜, 합계와 평균의 구분을 보면 차이가 크게 보이는 이유를 추적할 수 있습니다. 누락된 날을 0으로 연결했는지, 관측이 없는 구간으로 남겼는지도 문장 해석에 영향을 줍니다.

NIST의 산점도 설명은 변수 사이의 연관이 인과를 입증하지 않는다고 구분합니다. 보고서가 ‘광고비와 주문금액이 함께 늘었다’는 관측에서 ‘광고가 증가를 만들었다’는 결론으로 넘어갔다면, 다른 변화와 비교 조건을 확인할 자료가 추가로 필요합니다. 정확한 덧셈과 원인 설명의 타당성은 따로 검토합니다.

업무 판단에 사용할 분석이라면 결과와 함께 집계 대상, 누락 건수, 계산식, 해석의 범위를 남깁니다. 숫자가 맞아도 대상이 다르거나 모르는 값을 0으로 채운 가정이 숨겨져 있으면 의사결정에 쓸 지표가 달라집니다. 최종 보고서에는 계산으로 확인한 사실과 추가 자료가 필요한 원인 가설을 구분해 적습니다.

자료·실행 확인: 2026년 10월 28일 UTC.

관련 글