/ 학습 / 안내서 / 데이터 처리
L2 중급 · 5분 읽기

예방 점검표 누락·재점검 대상 찾기

예방안전팀 2026.06.29 갱신 예방 점검 대상과 기록을 대조해야 하는 실무자
#예방점검#데이터대조#검산#누락

월말·분기말이면 점검 대상과 실제 점검 기록을 맞춰 봐야 합니다. 손으로 대조하면 빠뜨리기 쉽습니다. 이 안내서는 두 목록을 대조해 미점검 대상·재점검 임박 대상·불량 분류를 찾는 로컬 스크립트입니다. 우선순위를 자동으로 정하지 않고, 담당자가 확인할 후보를 찾아 줍니다.

이 안내서를 끝내면 점검 대상과 기록을 대조해 누락을 자동으로 찾고, 결과를 그대로 처분에 쓰지 않고 사람이 확인할 목록으로 다루는 법을 알게 됩니다.

입력 두 가지

무엇을 찾는가

세 가지를 만듭니다. 판정 규칙도 단순합니다.

대조는 코드로 — 핵심 로직

손 대조의 실수를 없애는 핵심은 세 가지 연산입니다. 표준 pandas만 씁니다.

PYTHON
import pandas as pd
reg = pd.read_csv("facility_register.csv")
log = pd.read_csv("inspection_log.csv")
asof = pd.Timestamp("2025-08-01")

# ① 미점검: active 대상 중 점검 기록에 없는 것 (anti-join)
active = reg[reg["status"] == "active"]
not_inspected = active[~active["facility_id"].isin(set(log["facility_id"]))]

# ② 재점검 임박: reinspection_due 가 기준일로부터 0~30일 이내
log["reinspection_due"] = pd.to_datetime(log["reinspection_due"], errors="coerce")
due_soon = log[(log["reinspection_due"] - asof).dt.days.between(0, 30)]

# ③ 불량 분류 집계
violations = log[log["items_failed"] > 0].groupby("violation_category").size()

핵심은 ①의 ~...isin(...)(anti-join)입니다. "대상 − 점검"을 빼기로 셈하면 ID 표기 차이로 조용히 틀리지만, 집합 포함 여부로 대조하면 빠진 대상만 정확히 남습니다. ②의 errors="coerce"는 형식이 깨진 날짜를 NaT로 만들어 검산에서 걸러 줍니다.

실행과 결과

BASH
python script.py --as-of 2025-08-01
TEXT
[입력] 점검 대상 10개, 점검 기록 8건, 기준일 2025-08-01
[검산] 미점검 2개, 재점검 확인 대상 3개, 불량 분류 4종
[주의] 재점검 대상은 담당자 원자료 확인 후 확정합니다.
[OK] 저장: output/not_inspected.csv
[OK] 저장: output/reinspection_due.csv
[OK] 저장: output/violation_summary.csv

검산 — 먼저 기대값을 정해두기

동봉된 합성 데이터로 먼저 돌려, 기대값이 그대로 나오는지 확인합니다. 하나라도 다르면 결과를 업무에 쓰지 않습니다.

대상 수는 status=active 행 수와 맞아야 하고, 미점검은 점검 기록이 없는 active 대상만, 재점검은 날짜 형식이 올바른 기록만 집계됩니다.

▸ 소방 활용 포인트
월말·분기말 점검 누락을 빠르게 찾되, 미점검이 곧 처분 대상은 아닙니다. 재점검 우선순위는 담당자가 원자료로 확정하고, 결과에는 실제 시설명·상세주소·취약점을 넣지 않고 집계 수준만 공유합니다.

결과를 공유하기 전

다음 중 하나라도 보이면 공유하지 않고 원자료 확인으로 되돌립니다.

TEXT
- [ ] 실제 시설명, 상세주소, 취약점 설명을 공개 예시에 넣지 않았습니다.
- [ ] 점검 우선순위나 위험도 최종 판단을 AI 또는 스크립트가 단정하지 않습니다.
- [ ] reinspection_due.csv는 담당자 원자료 확인 후 확정합니다.
- [ ] 미점검 대상은 점검 제외, 폐업, 관할 변경 같은 업무 규칙을 확인합니다.
- [ ] 공개 문서에는 집계 수준의 결과만 사용합니다.
⚠️ 흔한 실수
이 레시피는 누락 후보를 찾는 도구이며 행정처분·위험도·우선순위를 자동 결정하지 않습니다. 점검 제외·폐업·관할 변경 같은 업무 규칙은 담당자가 원자료로 확인하세요.