파이썬으로 미분양주택현황 데이터 조회하기
Python 라이브러리 PublicDataReader를 이용하면 최신 지역별 주민등록인구 데이터를 쉽게 가져올 수 있다. 해당 데이터는 국가통계포털(KOSIS) 웹 사이트에 접속해 직접 조회할 수도 있지만, KOSIS 공유서비스 Open API를 이용해서도 조회할 수 있다. PublicDataReader는 KOSIS 공유서비스 Open API의 데이터 조회 기능을 포함하고 있어, 이를 활용하면 원하는 데이터를 쉽게 찾고 조회할 수 있다. KOSIS 공유서비스 Open API 신청 방법과 PublicDataReader에서 제공하는 KOSIS 공유서비스 Open API의 모든 기능을 살펴보려면 Python으로 KOSIS 데이터 조회하기를 참고하면 된다. 여기서는 ‘미분양주택현황(시도/시/군/구)’ 데이터를 조회하는 방법을 다루기로 한다.
설치하기
- 운영체제(OS)에 따라 아래 중 하나를 선택한다.
- Windows: CMD(명령 프롬프트) 실행
- Mac: Terminal(터미널) 실행
아래 Shell 명령어를 입력 후 실행한다.
pip install PublicDataReader --upgrade
라이브러리 임포트하기
앞에서 설치한 PublicDataReader에서 Kosis 클래스를 임포트한다. KOSIS 공유서비스에서 발급받은 오픈 API 사용자 인증키 정보를 service_key 변수에 할당한다. Kosis의 인자료 service_key를 입력하여 데이터 조회 인스턴스 api를 만든다.
from PublicDataReader import Kosis
# KOSIS 공유서비스 Open API 사용자 인증키
service_key = "사용자 인증키"
# 인스턴스 생성하기
api = Kosis(service_key)
조회할 데이터 찾기
api.get_data() 메서드의 첫 번째 인자로 ‘KOSIS통합검색’을 지정한다. searchNm
에는 조회할 데이터를 찾기 위한 키워드를 입력한다. 반환된 데이터프레임에서 조회할 데이터를 찾아 기관ID(ORG_ID)와 통계표ID(TBL_ID) 값을 확인한다. ‘미분양주택현황(시도/시/군/구)’ 데이터의 기관ID는 101이고, 통계표ID는 DT_1YL202001E 이므로 이 값들을 데이터를 조회할 때 사용한다. 참고로 api.get_data() 메서드에 translate=False 옵션을 지정하면 영문 컬럼명으로 데이터를 조회할 수 있다. 이 인자의 기본값은 True이므로 국문 컬럼명으로 조회한다.
df = api.get_data(
"KOSIS통합검색",
searchNm="시군구 미분양"
)
df.head(1)
기관ID | 기관명 | 통계표ID | 통계표명 | 조사ID | 조사명 | KOSIS목록구분 | KOSIS통계표위치 | 통계표위치 | 통계표주요내용 | 수록기간시작일 | 수록기간종료일 | 통계표주석 | 추천통계표여부 | KOSIS목록URL | KOSIS통계표URL | 검색결과건수 | 검색어명 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 116 | 국토교통부 | DT_MLTM_5328 | 공사완료후 미분양현황 | 1998033 | 미분양주택현황보고 | MT_ZTITLE | 주거 > 미분양주택현황보고 | I1 > I1_2 | 구분 시군구 부문 규모 울산 대전 전남 경기 충남 세종 경남 제주 전국 광주 강원 ... | 2007 | 2022 | 자료 : 국토교통부 주택토지실 주택정책관 주택정책과 | N | https://kosis.kr/statisticsList/statisticsList... | http://kosis.kr/statHtml/statHtml.do?orgId=116... | 251 | 시군구 미분양 |
데이터 수록 주기와 시점 확인
api.get_data() 메서드의 첫 번째 인자로 ‘통계표설명’을 지정한다. 통계표설명의 경우 상세기능도 추가적으로 지정해야 한다. 두 번째 인자로 ‘자료갱신일’을 입력하고, 위에서 복사해둔 기관ID와 통계표ID의 값들을 api.get_data()의 인자로 입력해 데이터 수록주기와 수록시점을 확인한다. 수록주기(PRD_SE) 별 최근 수록시점(PRD_DE) 값을 조회하면 수록주기는 월 기준이며, 2000년 12월 ~ 2022년 11월 데이터가 수록되어 있는 것을 알 수 있다.
df = api.get_data(
"통계표설명",
"자료갱신일",
orgId="101",
tblId="DT_1YL202001E"
)
df.groupby(by=['수록주기']).agg({"수록시점": ["min", "max"]})
수록시점 | ||
---|---|---|
min | max | |
수록주기 | ||
월 | 200012 | 202211 |
데이터 항목 및 분류 확인하기
api.get_data() 메서드의 첫 번째 인자로 ‘통계표설명’을 지정한다. 두 번째 인자로 ‘분류항목’을 입력하고, 이번에도 기관ID와 통계표ID를 api.get_data()의 인자로 입력해 결과를 확인한다. 분류ID의 값이 ‘ITEM’ 이면 항목을 뜻하고 이 때, 분류값ID의 값을 통계자료 조회 시 itmId의 값으로 입력한다. 분류ID 값이 ITEM
이 아니고, 분류값순번 값에 숫자가 입력되어 있는 경우 이는 분류를 뜻하고, 분류값순번의 숫자 값이 분류 수준을 뜻한다. 예를 들어, 분류ID 값이 A이고, 분류값순번 값이 1이라면, 분류ID 값을 통계자료 조회 시 objL1의 값으로 입력한다.
item = api.get_data(
"통계표설명",
"분류항목",
orgId="101",
tblId="DT_1YL202001E",
)
item.head()
기관ID | 통계표ID | 분류ID | 분류명 | 분류영문명 | 분류값ID | 분류값명 | 분류값영문명 | 분류값순번 | |
---|---|---|---|---|---|---|---|---|---|
0 | 101 | DT_1YL202001E | ITEM | 항목 | Item code list | 13103871087T1 | 미분양현황 | Unsold Housing | NaN |
1 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0001 | 총계 | Total | 1 |
2 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0002 | 전국 | Whole Country | 1 |
3 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0003 | 서울 | Seoul | 1 |
4 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0004 | 부산 | Busan | 1 |
항목을 조회한 결과를 살펴보면 ‘미분양현황’ 하나만 선택 가능하다. 분류값ID의 값인 13103871087T1를 복사해둔다.
item.loc[item["분류값순번"].isna()]
기관ID | 통계표ID | 분류ID | 분류명 | 분류영문명 | 분류값ID | 분류값명 | 분류값영문명 | 분류값순번 | |
---|---|---|---|---|---|---|---|---|---|
0 | 101 | DT_1YL202001E | ITEM | 항목 | Item code list | 13103871087T1 | 미분양현황 | Unsold Housing | NaN |
다음은 분류1의 조회 결과다. 분류1은 구분을 뜻하며 전국, 서울, 부산, 대구 등 여러 시도 단위 지역 기준들이 존재한다. 전체 선택할 것이므로 별도로 분류값ID(ITM_ID)를 복사하지 않아도 된다.
item.loc[item["분류값순번"]=="1"]
기관ID | 통계표ID | 분류ID | 분류명 | 분류영문명 | 분류값ID | 분류값명 | 분류값영문명 | 분류값순번 | |
---|---|---|---|---|---|---|---|---|---|
1 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0001 | 총계 | Total | 1 |
2 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0002 | 전국 | Whole Country | 1 |
3 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0003 | 서울 | Seoul | 1 |
4 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0004 | 부산 | Busan | 1 |
5 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0005 | 대구 | Daegu | 1 |
6 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0006 | 인천 | Incheon | 1 |
7 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0007 | 광주 | Gwangju | 1 |
8 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0008 | 대전 | Daejeon | 1 |
9 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0009 | 울산 | Ulsan | 1 |
10 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0019 | 세종 | Sejong | 1 |
11 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0010 | 경기 | Gyeonggi | 1 |
12 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0011 | 강원 | Gangwon-do | 1 |
13 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0012 | 충북 | Chungcheongbuk-do | 1 |
14 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0013 | 충남 | Chungcheongnam-do | 1 |
15 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0014 | 전북 | Jeollabuk-do | 1 |
16 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0015 | 전남 | Jeollanam-do | 1 |
17 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0016 | 경북 | Gyeongsangbuk-do | 1 |
18 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0017 | 경남 | Gyeongsangnam-do | 1 |
19 | 101 | DT_1YL202001E | 13101871087A | 구분 | SiGunGu | 13102871087A.0018 | 제주 | Jeju | 1 |
다음은 분류2의 조회 결과다. 분류2는 시군구를 뜻하며 종로구, 강남구 등 여러 시군구 단위 지역 기준들이 존재한다. 분류1에서와 마찬가지로 전체 선택하기로 한다. 분류값ID(ITM_ID)를 따로 복사하지 않아도 된다.
item.loc[item["분류값순번"]=="2"]
기관ID | 통계표ID | 분류ID | 분류명 | 분류영문명 | 분류값ID | 분류값명 | 분류값영문명 | 분류값순번 | |
---|---|---|---|---|---|---|---|---|---|
20 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0001 | 총계 | NaN | 2 |
21 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0002 | 계 | NaN | 2 |
22 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0003 | 소계 | Sub Total | 2 |
23 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0004 | 종로구 | Jongno-gu | 2 |
24 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0005 | 강남구 | NaN | 2 |
25 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0006 | 중구 | NaN | 2 |
26 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0007 | 강동구 | NaN | 2 |
27 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0008 | 용산구 | NaN | 2 |
28 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0009 | 강북구 | Gangbuk-gu | 2 |
29 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0010 | 성동구 | Seongdong-gu | 2 |
30 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0011 | 강서구 | NaN | 2 |
31 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0012 | 광진구 | NaN | 2 |
32 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0013 | 동대문구 | Dongdaemun-gu | 2 |
33 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0014 | 관악구 | Gwanak-gu | 2 |
34 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0015 | 중랑구 | Jungnang-gu | 2 |
35 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0016 | 성북구 | Seongbuk-gu | 2 |
36 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0017 | 구로구 | Guro-gu | 2 |
37 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0018 | 금천구 | Geumcheon-gu | 2 |
38 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0019 | 노원구 | Nowon-gu | 2 |
39 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0020 | 도봉구 | Dobong-gu | 2 |
40 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0021 | 은평구 | Eunpyeong-gu | 2 |
41 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0022 | 서대문구 | Seodaemun-gu | 2 |
42 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0023 | 동작구 | Dongjak-gu | 2 |
43 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0024 | 마포구 | Mapo-gu | 2 |
44 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0025 | 양천구 | Yangcheon-gu | 2 |
45 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0026 | 서초구 | Seocho-gu | 2 |
46 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0027 | 영등포구 | Yeongdeungpo-gu | 2 |
47 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0028 | 송파구 | Songpa-gu | 2 |
48 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0029 | 서구 | Seo-gu | 2 |
49 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0030 | 동구 | NaN | 2 |
50 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0031 | 금정구 | NaN | 2 |
51 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0032 | 영도구 | NaN | 2 |
52 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0033 | 기장군 | NaN | 2 |
53 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0034 | 남구 | Nam-gu | 2 |
54 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0035 | 부산진구 | Busanjin-gu | 2 |
55 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0036 | 동래구 | Dongnae-gu | 2 |
56 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0037 | 북구 | Buk-gu | 2 |
57 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0038 | 해운대구 | Haeundae-gu | 2 |
58 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0039 | 사상구 | NaN | 2 |
59 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0040 | 사하구 | NaN | 2 |
60 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0041 | 연제구 | Yeonje-gu | 2 |
61 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0042 | 수영구 | Suyeong-gu | 2 |
62 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0043 | 수성구 | Suseong-gu | 2 |
63 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0044 | 달서구 | Dalseo-gu | 2 |
64 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0045 | 달성군 | Dalseong-gun | 2 |
65 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0046 | 남동구 | Namdong-gu | 2 |
66 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0047 | 연수구 | Yeonsu-gu | 2 |
67 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0048 | 미추홀구 | Michuhol-gu | 2 |
68 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0049 | 부평구 | Bupyeong-gu | 2 |
69 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0050 | 계양구 | Gyeyang-gu | 2 |
70 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0051 | 강화군 | Ganghwa-gun | 2 |
71 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0052 | 옹진군 | Ongjin-gun | 2 |
72 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0053 | 광산구 | Gwangsan-gu | 2 |
73 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0054 | 유성구 | Yuseong-gu | 2 |
74 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0055 | 대덕구 | Daedeok-gu | 2 |
75 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0056 | 울주군 | Ulju-gun | 2 |
76 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0057 | 수원시 | Suwon-si | 2 |
77 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0058 | 세종시 | NaN | 2 |
78 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0059 | 가평군 | Gapyeong-gun | 2 |
79 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0060 | 성남시 | NaN | 2 |
80 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0061 | 고양시 | NaN | 2 |
81 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0062 | 의정부시 | NaN | 2 |
82 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0063 | 과천시 | NaN | 2 |
83 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0064 | 안양시 | NaN | 2 |
84 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0065 | 광명시 | Gwangmyeong-si | 2 |
85 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0066 | 부천시 | NaN | 2 |
86 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0067 | 광주시 | NaN | 2 |
87 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0068 | 구리시 | Guri-si | 2 |
88 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0069 | 평택시 | NaN | 2 |
89 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0070 | 동두천시 | NaN | 2 |
90 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0071 | 군포시 | NaN | 2 |
91 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0072 | 김포시 | NaN | 2 |
92 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0073 | 안산시 | NaN | 2 |
93 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0074 | 남양주시 | NaN | 2 |
94 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0075 | 시흥시 | NaN | 2 |
95 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0076 | 오산시 | NaN | 2 |
96 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0077 | 안성시 | NaN | 2 |
97 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0078 | 의왕시 | NaN | 2 |
98 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0079 | 하남시 | NaN | 2 |
99 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0080 | 양주시 | NaN | 2 |
100 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0081 | 양평군 | NaN | 2 |
101 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0082 | 용인시 | NaN | 2 |
102 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0083 | 여주군 | Yeoju-gun | 2 |
103 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0084 | 파주시 | NaN | 2 |
104 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0085 | 이천시 | NaN | 2 |
105 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0086 | 연천군 | NaN | 2 |
106 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0087 | 여주시 | NaN | 2 |
107 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0088 | 화성시 | NaN | 2 |
108 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0089 | 포천시 | NaN | 2 |
109 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0090 | 춘천시 | NaN | 2 |
110 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0091 | 원주시 | NaN | 2 |
111 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0092 | 강릉시 | NaN | 2 |
112 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0093 | 동해시 | NaN | 2 |
113 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0094 | 태백시 | NaN | 2 |
114 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0095 | 속초시 | NaN | 2 |
115 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0096 | 삼척시 | NaN | 2 |
116 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0097 | 홍천군 | NaN | 2 |
117 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0098 | 횡성군 | NaN | 2 |
118 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0099 | 영월군 | NaN | 2 |
119 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0100 | 평창군 | NaN | 2 |
120 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0101 | 정선군 | NaN | 2 |
121 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0102 | 철원군 | NaN | 2 |
122 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0103 | 화천군 | NaN | 2 |
123 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0104 | 양구군 | NaN | 2 |
124 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0105 | 인제군 | NaN | 2 |
125 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0106 | 고성군 | NaN | 2 |
126 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0107 | 양양군 | NaN | 2 |
127 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0108 | 청주시 | NaN | 2 |
128 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0109 | 괴산군 | NaN | 2 |
129 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0110 | 충주시 | NaN | 2 |
130 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0111 | 단양군 | Danyang-gun | 2 |
131 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0112 | 제천시 | NaN | 2 |
132 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0113 | 보은군 | NaN | 2 |
133 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0114 | 청원군 | NaN | 2 |
134 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0115 | 옥천군 | NaN | 2 |
135 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0116 | 영동군 | NaN | 2 |
136 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0117 | 증평군 | NaN | 2 |
137 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0118 | 음성군 | NaN | 2 |
138 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0119 | 진천군 | NaN | 2 |
139 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0120 | 천안시 | NaN | 2 |
140 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0121 | 공주시 | NaN | 2 |
141 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0122 | 보령시 | NaN | 2 |
142 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0123 | 계룡시 | NaN | 2 |
143 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0124 | 아산시 | NaN | 2 |
144 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0125 | 금산군 | NaN | 2 |
145 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0126 | 서산시 | NaN | 2 |
146 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0127 | 논산시 | NaN | 2 |
147 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0128 | 당진시 | NaN | 2 |
148 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0129 | 부여군 | NaN | 2 |
149 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0130 | 연기군 | NaN | 2 |
150 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0131 | 서천군 | NaN | 2 |
151 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0132 | 청양군 | NaN | 2 |
152 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0133 | 홍성군 | NaN | 2 |
153 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0134 | 예산군 | NaN | 2 |
154 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0135 | 태안군 | NaN | 2 |
155 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0136 | 당진군 | NaN | 2 |
156 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0137 | 전주시 | Jeonju-si | 2 |
157 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0138 | 조치원읍 | Jochiwon-eup | 2 |
158 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0139 | 군산시 | Gunsan-si | 2 |
159 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0140 | 익산시 | Iksan-si | 2 |
160 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0141 | 정읍시 | Jeongeup-si | 2 |
161 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0142 | 남원시 | Namwon-si | 2 |
162 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0143 | 김제시 | Gimje-si | 2 |
163 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0144 | 완주군 | Wanju-gun | 2 |
164 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0145 | 진안군 | Jinan-gun | 2 |
165 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0146 | 무주군 | Muju-gun | 2 |
166 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0147 | 장수군 | Jangsu-gun | 2 |
167 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0148 | 임실군 | Imsil-gun | 2 |
168 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0149 | 순창군 | Sunchang-gun | 2 |
169 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0150 | 고창군 | Gochang-gun | 2 |
170 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0151 | 부안군 | Buan-gun | 2 |
171 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0152 | 목포시 | Mokpo-si | 2 |
172 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0153 | 여수시 | Yeosu-si | 2 |
173 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0154 | 순천시 | Suncheon-si | 2 |
174 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0155 | 나주시 | Naju-si | 2 |
175 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0156 | 광양시 | Gwangyang-si | 2 |
176 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0157 | 담양군 | Damyang-gun | 2 |
177 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0158 | 곡성군 | Gokseong-gun | 2 |
178 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0159 | 구례군 | Gurye-gun | 2 |
179 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0160 | 고흥군 | Goheung-gun | 2 |
180 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0161 | 보성군 | Boseong-gun | 2 |
181 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0162 | 화순군 | Hwasun-gun | 2 |
182 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0163 | 장흥군 | Jangheung-gun | 2 |
183 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0164 | 강진군 | Gangjin-gun | 2 |
184 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0165 | 해남군 | Haenam-gun | 2 |
185 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0166 | 영암군 | Yeongam-gun | 2 |
186 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0167 | 무안군 | Muan-gun | 2 |
187 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0168 | 함평군 | Hampyeong-gun | 2 |
188 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0169 | 영광군 | Yeonggwang-gun | 2 |
189 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0170 | 장성군 | Jangseong-gun | 2 |
190 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0171 | 완도군 | Wando-gun | 2 |
191 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0172 | 진도군 | Jindo-gun | 2 |
192 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0173 | 신안군 | Sinan-gun | 2 |
193 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0174 | 포항시 | Pohang-si | 2 |
194 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0175 | 경주시 | Gyeongju-si | 2 |
195 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0176 | 김천시 | Gimcheon-si | 2 |
196 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0177 | 안동시 | Andong-si | 2 |
197 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0178 | 구미시 | Gumi-si | 2 |
198 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0179 | 영주시 | Yeongju-si | 2 |
199 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0180 | 영천시 | Yeongcheon-si | 2 |
200 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0181 | 상주시 | Sangju-si | 2 |
201 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0182 | 문경시 | Mungyeong-si | 2 |
202 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0183 | 경산시 | Gyeongsan-si | 2 |
203 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0184 | 군위군 | Gunwi-gun | 2 |
204 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0185 | 의성군 | Uiseong-gun | 2 |
205 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0186 | 청송군 | Cheongsong-gun | 2 |
206 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0187 | 영양군 | Yeongyang-gun | 2 |
207 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0188 | 영덕군 | Yeongdeok-gun | 2 |
208 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0189 | 청도군 | Cheongdo-gun | 2 |
209 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0190 | 고령군 | Goryeong-gun | 2 |
210 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0191 | 성주군 | Seongju-gun | 2 |
211 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0192 | 칠곡군 | Chilgok-gun | 2 |
212 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0193 | 예천군 | Yecheon-gun | 2 |
213 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0194 | 봉화군 | Bonghwa-gun | 2 |
214 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0195 | 울진군 | Uljin-gun | 2 |
215 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0196 | 울릉군 | Ulleung-gun | 2 |
216 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0197 | 창원시 | Changwon-si | 2 |
217 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0198 | 진주시 | Jinju-si | 2 |
218 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0199 | 마산시 | Masan-si | 2 |
219 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0200 | 통영시 | Tongyeong-si | 2 |
220 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0201 | 사천시 | Sacheon-si | 2 |
221 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0202 | 진해시 | Jinhae-si | 2 |
222 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0203 | 김해시 | Gimhae-si | 2 |
223 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0204 | 밀양시 | Miryang-si | 2 |
224 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0205 | 거제시 | Geoje-si | 2 |
225 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0206 | 양산시 | Yangsan-si | 2 |
226 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0207 | 의령군 | Uiryeong-gun | 2 |
227 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0208 | 함안군 | Haman-gun | 2 |
228 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0209 | 창녕군 | Changnyeong-gun | 2 |
229 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0210 | 남해군 | Namhae-gun | 2 |
230 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0211 | 하동군 | Hadong-gun | 2 |
231 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0212 | 산청군 | Sancheong-gun | 2 |
232 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0213 | 함양군 | Hamyang-gun | 2 |
233 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0214 | 거창군 | Geochang-gun | 2 |
234 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0215 | 합천군 | Hapcheon-gun | 2 |
235 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0216 | 제주시 | Jeju-si | 2 |
236 | 101 | DT_1YL202001E | 13101871087B | 시군구 | SiGunGu | 13102871087B.0217 | 서귀포시 | Seogwipo-si | 2 |
통계표 조회하기
api.get_data() 메서드의 첫 번째 인자로 ‘통계자료’를 지정한다. 미분양현황_종합
통계표를 조회를 위해 위에서 복사해둔 값들을 순서대로 api.get_data()의 인자로 입력한다. itmId의 값으로 선택 항목을 직접 나열해도 되지만 전체 선택 시 ‘ALL’이라는 값을 입력하면 된다.
df = api.get_data(
"통계자료",
orgId="101",
tblId="DT_1YL202001E",
objL1="ALL",
objL2="ALL",
itmId="ALL",
prdSe="M",
startPrdDe="202205",
endPrdDe="202211",
)
df.head()
기관ID | 통계표ID | 통계표명 | 분류명1 | 분류영문명1 | 분류값명1 | 분류값영문명1 | 분류값ID1 | 분류명2 | 분류영문명2 | 분류값명2 | 분류값영문명2 | 분류값ID2 | 항목ID | 항목명 | 항목영문명 | 단위명 | 단위영문명 | 수록주기 | 수록시점 | 수치값 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 101 | DT_1YL202001E | 미분양주택현황(시도/시/군/구) | 구분 | SiGunGu | 서울 | Seoul | 13102871087A.0003 | 시군구 | SiGunGu | 계 | NaN | 13102871087B.0002 | 13103871087T1 | 미분양현황 | Unsold Housing | 호 | House | M | 202205 | 688 |
1 | 101 | DT_1YL202001E | 미분양주택현황(시도/시/군/구) | 구분 | SiGunGu | 서울 | Seoul | 13102871087A.0003 | 시군구 | SiGunGu | 계 | NaN | 13102871087B.0002 | 13103871087T1 | 미분양현황 | Unsold Housing | 호 | House | M | 202206 | 719 |
2 | 101 | DT_1YL202001E | 미분양주택현황(시도/시/군/구) | 구분 | SiGunGu | 서울 | Seoul | 13102871087A.0003 | 시군구 | SiGunGu | 계 | NaN | 13102871087B.0002 | 13103871087T1 | 미분양현황 | Unsold Housing | 호 | House | M | 202207 | 592 |
3 | 101 | DT_1YL202001E | 미분양주택현황(시도/시/군/구) | 구분 | SiGunGu | 서울 | Seoul | 13102871087A.0003 | 시군구 | SiGunGu | 계 | NaN | 13102871087B.0002 | 13103871087T1 | 미분양현황 | Unsold Housing | 호 | House | M | 202208 | 610 |
4 | 101 | DT_1YL202001E | 미분양주택현황(시도/시/군/구) | 구분 | SiGunGu | 서울 | Seoul | 13102871087A.0003 | 시군구 | SiGunGu | 계 | NaN | 13102871087B.0002 | 13103871087T1 | 미분양현황 | Unsold Housing | 호 | House | M | 202209 | 719 |
피벗 테이블 만들기
통계표 조회 결과를 아래와 같이 원하는 형태로 재구조화하여 분석 목적에 맞게 사용하면 된다.
target = df.loc[df['분류값명2']=='계']
target['수록시점'] = pd.to_datetime(target['수록시점'], format="%Y%m")
target['수치값'] = pd.to_numeric(target['수치값'])
pv = target.pivot(index=["수록시점"], columns=["분류값명1","분류값명2"], values="수치값")
newCols = list(map(lambda x: x[0]+"_"+x[1], pv.columns))
pv.columns = newCols
pv = pv.reset_index()
pv['수록시점'] = pd.to_datetime(pv['수록시점'], format="%Y%m")
for col in pv.columns[1:]:
pv[col] = pd.to_numeric(pv[col])
pv = pv.set_index("수록시점")
pv
서울_계 | 부산_계 | 대구_계 | 인천_계 | 광주_계 | 대전_계 | 울산_계 | 경기_계 | 강원_계 | 충북_계 | 충남_계 | 전북_계 | 전남_계 | 경북_계 | 경남_계 | 제주_계 | 세종_계 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
수록시점 | |||||||||||||||||
2022-05-01 | 688 | 1220 | 6816 | 426 | 46 | 460 | 641 | 2449 | 1242 | 1088 | 1386 | 107 | 2327 | 5369 | 1979 | 1119 | 12 |
2022-06-01 | 719 | 1267 | 6718 | 418 | 198 | 523 | 627 | 3319 | 1303 | 862 | 1326 | 103 | 2585 | 4823 | 2044 | 1063 | 12 |
2022-07-01 | 592 | 1503 | 7523 | 544 | 198 | 509 | 788 | 3393 | 1239 | 885 | 1406 | 178 | 2534 | 6517 | 2238 | 1227 | 10 |
2022-08-01 | 610 | 1799 | 8301 | 1222 | 198 | 668 | 775 | 3180 | 1348 | 619 | 1386 | 157 | 2503 | 6693 | 2042 | 1213 | 8 |
2022-09-01 | 719 | 1973 | 10539 | 1541 | 163 | 1430 | 1426 | 5553 | 1262 | 1107 | 2418 | 621 | 2627 | 6520 | 2401 | 1299 | 5 |
2022-10-01 | 866 | 2514 | 10830 | 1666 | 161 | 1374 | 1414 | 5080 | 2287 | 1732 | 2840 | 1383 | 2797 | 6369 | 4176 | 1722 | 6 |
2022-11-01 | 865 | 2574 | 11700 | 2471 | 161 | 1853 | 2999 | 7037 | 2365 | 2632 | 5046 | 1951 | 2925 | 7667 | 4076 | 1699 | 6 |
시각화
import plotly.express as px
fig = px.line(target,
x="수록시점",
y="수치값",
color='분류값영문명1')
fig
참고
- Python으로 KOSIS 데이터 조회하기
- KOSIS 국가통계포털 Open API 가이드
- KOSIS 공유서비스
- PublicDataReader 깃허브 저장소
- PublicDataReader 사용자 모임
댓글남기기