{
 "원자료": [
  {
   "경로": "자료/읍면동인구_경기_2011_2025.csv",
   "행수": 185460,
   "sha256": "c727664c77a1f1a2396853d811c3b7f7be3a9e3385f4181a701a92a58b6c4fa9",
   "출처": "통계청 KOSIS DT_1B04005N 「행정구역(읍면동)별/5세별 주민등록인구(2011년~)」 orgId=101 itmId=T2(총인구수) prdSe=Y 2011~2025 · 지역 prefix 41(경기)",
   "받는코드": "자료/읍면동_받기.py",
   "받은날": "2026-08-30"
  },
  {
   "경로": "자료/시군이름_경기.csv",
   "행수": 32,
   "sha256": "add6d2a1c5c93cb4e08585a5c887ac52c43cd4d76520f2ba798e043c1740c796",
   "출처": "통계청 KOSIS getMeta orgId=101 tblId=DT_1B04005N 축 A — 5자리·경기(41)·끝자리 0 = 기초자치단체 32개(31 시군 + 여주군 41730)",
   "받는코드": "자료/시군이름_받기.py",
   "받은날": "2026-08-31",
   "쓰임": "차트 축 라벨 전용. 집계에 넣지 않는다"
  }
 ],
 "코드": {
  "경로": "analysis/prep.py",
  "sha256": "7b51e4237ec2f905478ffa527115e9f340af1923f2ee6f579d168e1a59e681a6"
 },
 "규칙": [
  {
   "이름": "‘계’ 행 분리",
   "무엇": "연령축의 ‘계’ 행은 5세 구간 합산에서 빼고 분모로만 쓴다",
   "버린행": 0,
   "왜": "5세 구간과 ‘계’를 같이 더하면 합이 두 배가 된다 (ds_wiki L053)"
  },
  {
   "이름": "연령은 라벨로",
   "무엇": "연령 구간을 코드가 아니라 라벨 문자열로 고른다",
   "버린행": 0,
   "왜": "이 표는 코드가 라벨과 한 칸 어긋난 전력이 있다 (ds_wiki L008 · 065=60~64세)"
  },
  {
   "이름": "키는 코드",
   "무엇": "키를 (연도, 행정동코드)로 잡고 이름은 키로 쓰지 않는다",
   "버린행": 0,
   "왜": "같은 이름을 여러 코드가 쓰는 곳이 63개다 (정자1동·고등동·중앙동 등)"
  },
  {
   "이름": "없는 행은 채우지 않는다",
   "무엇": "격자의 빈칸을 0으로 채우지 않고 그 해의 표본에서 뺀다",
   "버린행": 0,
   "왜": "없는 행은 「인구 0」이 아니라 「그해 그 동이 없었다」이다 (ds_wiki L031)"
  },
  {
   "이름": "‘계’ 가 0 이면 «폐지»로 본다",
   "무엇": "‘계’ 가 0 인 동-연도 칸을 분석에서 뺀다",
   "버린행": 1,
   "왜": "실측 능서면 2021 — 여주시 능서면이 세종대왕면으로 바뀐 해다. 인구가 없는 것이 아니라 폐지된 것이라, 비중의 분모로 쓸 수 없다"
  },
  {
   "이름": "‘계’ 없는 칸 제외",
   "무엇": "5세 구간은 있는데 ‘계’ 가 없는 칸을 뺀다",
   "버린행": 0,
   "왜": "분모가 없으면 비중을 만들 수 없다"
  },
  {
   "이름": "합 불일치 제외",
   "무엇": "5세 구간 합 ≠ ‘계’ 인 칸을 뺀다",
   "버린행": 0,
   "왜": "둘이 어긋나면 라벨 매핑이 깨졌다는 신호라 값을 믿을 수 없다"
  },
  {
   "이름": "숫자가 아닌 값 제외",
   "무엇": "값이 정수로 읽히지 않는 행을 뺀다",
   "버린행": 0,
   "왜": "빈칸·기호가 섞이면 합계가 조용히 틀어진다"
  },
  {
   "이름": "일반구를 시로 묶는다",
   "무엇": "행정동 코드 앞 5자리를 10으로 내림해 «기초자치단체»(시군)로 묶는다",
   "버린행": 0,
   "왜": "KOSIS 5자리에는 일반구가 따로 있어 그대로 자르면 시군이 31이 아니라 44가 된다. 같은 시 안의 구끼리 차이가 «시군 간»으로 새어 나가 이 호의 핵심 값이 틀어진다"
  },
  {
   "이름": "로짓은 0·1 을 못 받는다",
   "무엇": "로짓 척도에서 비중이 0 또는 1 인 동을 뺀다",
   "버린행": 0,
   "왜": "log(p/(1-p)) 가 발산한다. 원척도 결과는 그 동들을 그대로 쓴다"
  },
  {
   "이름": "시군 이름표는 «표시 전용»",
   "무엇": "자료/시군이름_경기.csv 는 차트 축 라벨에만 쓰고 어떤 집계에도 넣지 않는다",
   "버린행": 0,
   "왜": "코드↔이름 대응은 측정값이 아니라 코드북이다. 집계에 섞이면 이름이 바뀐 해(여주군→여주시)에 같은 곳이 둘로 갈린다"
  }
 ],
 "분석표": {
  "경로": "analysis/raw.csv",
  "행수": 162,
  "sha256": "c4151314663829584c2e87ba8ed5781bf814597840e80358eeee4ae5db3441ab"
 },
 "요약": {
  "원자료행": 185460,
  "분석표행": 162,
  "버린행": 1,
  "분석가능칸": 8429,
  "균형패널동수": 448
 }
}