왜 분석보다 정리가 먼저일까요
회사에서 데이터 분석이라고 하면 흔히 그래프를 그리거나 통계를 내는 장면을 떠올립니다. 하지만 실무에서 데이터를 다뤄본 분이라면 아실 겁니다. 실제 작업 시간의 대부분은 분석이 아니라 “정리”에 들어갑니다.
여러 부서에서 취합한 엑셀 파일을 열어보면 날짜 형식이 제각각이고, 같은 거래처인데 이름 표기가 다르고, 빈 셀과 중복 행이 섞여 있는 경우가 흔합니다. 이런 상태로 피벗 테이블을 돌리거나 함수를 걸면 숫자는 나오지만 틀린 숫자가 나옵니다. 데이터 클렌징(Data Cleansing)은 이런 원본 데이터를 분석에 쓸 수 있는 상태로 다듬는 작업을 말합니다.
비전공자 실무자에게 데이터 클렌징은 거창한 이론이 아니라, 매달 반복하는 보고서 작업에서 가장 시간을 많이 잡아먹는 구간을 체계적으로 다루는 방법입니다. 이미 엑셀 반복 업무를 파이썬으로 자동화하는 과정을 경험해보셨다면, 그 자동화 스크립트 안에서 가장 까다로웠던 부분이 대부분 데이터 클렌징 단계였을 것입니다.
데이터 클렌징의 기본 4단계
실무에서 데이터를 정리할 때는 대략 다음 순서를 거칩니다.
1. 구조 파악하기
먼저 데이터가 몇 개의 컬럼으로 구성되어 있고, 각 컬럼이 어떤 값을 담아야 하는지 확인합니다. 예를 들어 “거래처명”, “계약일”, “금액” 컬럼이 있다면 계약일은 날짜, 금액은 숫자여야 합니다. 이 단계에서 실제로는 텍스트로 저장된 날짜나 천 단위 콤마가 포함된 문자열 금액이 섞여 있는 경우를 자주 발견합니다.
2. 결측치와 중복 확인하기
빈 셀이 어디에 얼마나 있는지, 완전히 같은 행이 중복으로 들어있지는 않은지 확인합니다. 파이썬 pandas를 사용하면 다음과 같이 빠르게 점검할 수 있습니다.
import pandas as pd
df = pd.read_excel("거래내역.xlsx")
# 컬럼별 결측치 개수 확인
print(df.isnull().sum())
# 완전히 동일한 행이 몇 개인지 확인
print(df.duplicated().sum())
3. 표기 통일하기
“㈜픽셀앤코드”, “픽셀앤코드(주)”, “픽셀앤코드”처럼 같은 대상이 다르게 표기된 경우를 하나로 맞춥니다. 이 작업에는 문자열 치환 함수나 정규표현식이 자주 쓰이는데, 정규표현식으로 텍스트를 정리하는 방법을 알아두면 이 단계가 훨씬 수월해집니다.
# 회사명 표기 통일 예시
df["거래처명"] = df["거래처명"].str.replace(r"\(주\)|㈜", "", regex=True).str.strip()
4. 형식 변환하기
날짜, 숫자, 전화번호처럼 형식이 정해져 있는 값들을 실제 해당 타입으로 변환합니다. 이렇게 해야 이후 필터링이나 정렬, 계산이 정상적으로 동작합니다.
# 문자열로 된 날짜를 실제 날짜 타입으로 변환
df["계약일"] = pd.to_datetime(df["계약일"], errors="coerce")
# 콤마가 섞인 금액 문자열을 숫자로 변환
df["금액"] = df["금액"].astype(str).str.replace(",", "").astype(float)

엑셀만으로도 시작할 수 있습니다
파이썬까지 가지 않아도 엑셀 기능만으로 클렌징의 상당 부분을 처리할 수 있습니다.
- 중복 데이터는 “데이터” 탭의 “중복된 항목 제거” 기능으로 걸러낼 수 있습니다.
- TRIM 함수로 셀 앞뒤의 불필요한 공백을 제거할 수 있습니다.
- SUBSTITUTE 함수로 특정 문자를 다른 문자로 일괄 치환할 수 있습니다.
- 입력 단계에서부터 오류를 막고 싶다면 드롭다운 목록을 활용한 데이터 유효성 검사를 걸어두는 것도 좋은 예방책입니다.
다만 파일이 여러 개이거나 매달 같은 정리 작업을 반복해야 한다면, 엑셀 수작업보다는 파이썬 스크립트로 절차를 고정해두는 편이 훨씬 안정적입니다. 한 번 작성한 클렌징 스크립트는 다음 달에도, 그다음 달에도 같은 기준으로 데이터를 정리해주기 때문입니다.
클렌징 기준은 반드시 기록해두세요
데이터 클렌징에서 실무자들이 가장 많이 놓치는 부분은 “어떤 기준으로 정리했는지”를 기록하지 않는 것입니다. 예를 들어 금액이 0원인 행을 제외했다거나, 특정 거래처명을 통일했다는 결정은 시간이 지나면 본인도 잊어버립니다. 이후 다른 사람이 같은 데이터를 다시 열어봤을 때 왜 원본과 숫자가 다른지 알 수 없게 됩니다.
이런 문제를 막으려면 클렌징 과정에서 어떤 규칙을 적용했는지 짧게라도 문서로 남겨두는 습관이 필요합니다. 자동화 스크립트를 운영하고 계시다면 자동화 로그를 작성하는 방법을 클렌징 작업에도 그대로 적용해볼 수 있습니다. 언제, 어떤 조건으로, 몇 건을 제외하거나 수정했는지를 남겨두면 나중에 데이터를 검증할 때 큰 도움이 됩니다.
정리된 데이터가 있어야 다음 단계로 갈 수 있습니다
데이터 클렌징은 화려하지 않지만, 이후의 시각화나 통계 분석, 자동 보고서 생성 모두 이 단계가 제대로 되어 있어야 의미가 있습니다. 아무리 좋은 그래프 도구를 쓰거나 정교한 함수를 걸어도 원본 데이터가 지저분하면 결과도 지저분합니다. 반대로 클렌징 절차를 한 번 잘 만들어두면, 그 다음부터는 데이터가 들어올 때마다 같은 절차를 반복 적용하기만 하면 되므로 실무 시간이 크게 줄어듭니다.
픽셀앤코드는 경기 양주 지역을 중심으로 중소기업과 공공기관의 데이터 가공 업무를 지원하고 있으며, 반복되는 데이터 정리 작업을 자동화 스크립트로 구축하는 실무 교육도 함께 진행하고 있습니다. 데이터가 쌓이고는 있지만 정리가 안 되어 활용하지 못하고 계신다면, 지금의 데이터 상태를 점검해보는 것부터 시작해보시길 권합니다.