본문 바로가기
일반행정

전국 일반음식점 신고현황 데이터 살펴보기

by 청효행정사 2022. 8. 18.

반응형

 

     

    시작하기 전에

    행정이 전산화되면서 공공기관에 신고, 등록, 인증, 허가되는 거의 모든 정보가 공공데이터로 제공되고 있습니다. 이렇게 제공되는 수많은 데이터를 잘 활용하면 유용한 정보가 되는데요. 데이터들을 가공하고 조합해서 유용한 정보를 만드는 것은 창의성의 영역이라 포스팅을 통해 완전히 제공할 수는 없지만 재미있게 다뤄볼 수는 있습니다. 

     

    첫 번째로 전국에 '신고'되어 있는 일반음식점 데이터를 다뤄볼까 합니다. 

     

    '일반음식점'은 말 그대로 일반적으로 주변에서 흔히 볼 수 있는 식당을 말합니다. 이 식당을 운영하기 위해서는 식품위생법에 따라 구청 등 지자체 위생과에 신고를 하기 때문에 이 신고된 정보를 전국단위로 취합해서 볼 수 있는 것입니다. 

     

    행정 분류상 '일반음식점'은 음식을 조리해서 판매하는 영업으로써 식사와 함께 부수적으로 음주행위가 허용되는 업소를 말합니다. 이 외에도 휴게음식점, 단란주점, 유흥주점 등으로 구분되는데 앞으로 해당 데이터를 다루면서 자세히 살펴보겠습니다.

    일반음식점 신고 데이터

    데이터를 분석하기 위해서는 분석해야 할 데이터를 준비해야겠죠? 본 데이터는 최초로 등록된 일반음식점부터 2022년 7월 31일까지의 데이터를 담고 있습니다. 중간에 폐업한 음식점까지 포함하고 있어 용량이 800Mb가 넘네요. 

     

    포스팅에는 20Mb 이상의 파일을 업로드할 수 없어서 아레에 링크를 걸어두겠습니다. 구글드라이브에 놀려놓은 파일로 링크를 걸었더니 '용량이 커서 바이러스 검사가 안된다' 이런 문구가 나오네요. 파일은 클리어 하니 안심하셔도 됩니다. 그래도 찜찜하시면...;;;

     

    일반음식점 데이터 내려받기

       

    데이터베이스 둘러보기

    데이터의 포맷은 .csv로 되어 있습니다. 일반적으로 엑셀로 열어볼 수 있는데요. 이 파일은 데이터 행의 수가 엑셀에서 표시할 수 있는 라인을 넘기 때문에 엑셀로 열어서는 데이터가 잘립니다.

     

    참고로 마이크로소프트 엑셀에서 표시할 수 있는 행의 수는 .xls의 경우 65,536행이고, 최신 버전인 통합문서 .xlsx의 경우 1,048,576행까지만 표시가 됩니다. 이 이상의 행이 있을 경우에도 데이터 불러오기를 통해 피벗테이블을 만들 수 있기는 한데요. 엑셀 시간이 아니니까 생략하겠습니다.

     

    저는 구글 코랩을 통해 파이썬으로 데이터를 파헤쳐 보겠습니다. '구글 코랩'에 대해서는 아래 포스팅을 참고해 주세요.

     

    데이터 분석 도구 준비 - 코랩

    본격적으로 데이터 분석을 실습해 보기 전에 먼저 데이터 분석을 할 도구가 필요합니다. 물론 데이터 분석을 위한 코드는 파이썬 python을 사용하지만 파이썬 작성할 도구가 필요합니다. 마치 글

    blog.arecacoco.com

     

    데이터를 읽어와 봅시다

    csv = '/content/drive/MyDrive/Colab DATA/일반음식점 RAW.csv'
    df = pd.read_csv(csv, encoding = 'cp949')
    df.sample(10)

    .csv 파일을 데이터프레임으로 만들어서 랜덤으로 10줄을 출력했습니다. 다양한 정보를 가지고 있는데 열의 수가 많아서 한눈에 들어오지 않네요. 뒤에 이어서 자세히 보겠습니다. 참고로 파일을 읽어 들일 때 위 코드 두 번째 줄에서 처럼 'cp949' encoding을 사용해야 합니다. 

    출력된 데이터프레임

    전체 몇 줄의 데이터를 가지고 있는지 보겠습니다.

    df.shape

    > 실행결과

    (2012833, 48)

    2,012,833줄의 행과, 48개의 열을 가지고 있는 표입니다. 위 캡처 화면의 글자가 작아서 보기가 힘들죠? 48개의 열에 어떤 항목이 있는지 살펴봅시다.

     

     

    df.columns

     

    > 실행결과

    Index(['번호', '개방서비스명', '개방서비스아이디', '개방자치단체코드', '관리번호', '인허가일자', '인허가취소일자',
           '영업상태구분코드', '영업상태명', '상세영업상태코드', '상세영업상태명', '폐업일자', '휴업시작일자', '휴업종료일자',
           '재개업일자', '소재지전화', '소재지면적', '소재지우편번호', '소재지전체주소', '도로명전체주소', '도로명우편번호',
           '사업장명', '최종수정시점', '데이터갱신구분', '데이터갱신일자', '업태구분명', '좌표정보(x)', '좌표정보(y)',
           '위생업태명', '남성종사자수', '여성종사자수', '영업장주변구분명', '등급구분명', '급수시설구분명', '총직원수',
           '본사직원수', '공장사무직직원수', '공장판매직직원수', '공장생산직직원수', '건물소유구분명', '보증액', '월세액',
           '다중이용업소여부', '시설총규모', '전통업소지정번호', '전통업소주된음식', '홈페이지', 'Unnamed: 47'],
          dtype='object')

    데이터베이스 자료기 때문에 '자치단체 코드' 이러한 데이터도 포함되어 있네요. 유의미하게 볼 수 있는 데이터는 '사업장명, 업태 구분명, 도로명 전체 주소, 소재지 전체 주소, 소재지 전화, 인허가 일자' 정도가 되겠네요.

     

    다음 포스팅에서 유의미한 데이터들을 추려내서 분석해 보겠습니다.

    반응형

    댓글


    위로 가기