새싹 인공지능 응용sw 개발자 양성 교육 프로그램 심선조 강사님 수업 정리 글입니다.
import pandas as pd
data=pd.read_csv('jeju.csv', encoding='cp949')
data.head()
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | Unnamed: 8 | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 (일도일동) | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | NaN |
| 1 | 제주시 | 일도2동 | 064-728-4442 | 제주특별자치도 제주시 고마로 28 (일도이동) | 인구 38400명 / 면적2.18㎢ / 48통326반 | 지상 2층·지하 1층 / 연면적 1307.01 | 총면적 617.22㎡ / 개소일 2000-12-24 | 2019-06-20 | NaN |
| 2 | 제주시 | 이도1동 | 064-728-1530 | 제주특별자치도 제주시 중앙로25길 17 (이도1동) | 인구 7418명 / 면적 0.79㎢ / 16통 97개반 | 지상 2층 / 2층면적 205㎡ | 개소일 2000-12-28 | 2019-06-20 | NaN |
| 3 | 제주시 | 이도2동 | 064-755-2021 | 제주특별자치도 제주시 오복3길 8 (이도이동) | 인구 41428명 / 면적 5.4㎢ / 49통 323반 | 지하 1층·지상 3층 / 연면적 1223.52㎡ | 총면적 388.9㎡ / 개소일 2000-10-05 | 2019-06-20 | NaN |
| 4 | 제주시 | 삼도1동 | 064-728-4532 | 제주특별자치도 제주시 전농로 40 (삼도일동) | 인구 14281명 / 면적0.87㎢ / 18통122반 | 지하 1층·지상3층 / 연면적 2070.37㎡ | 총면적 456.55㎡ | 2019-06-20 | NaN |
REST_API_KEY = 'd6e2bc7700170221a51d15963e88977b'
curl -v -X GET "https://dapi.kakao.com/v2/local/search/address.json" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "query=전북 삼성동 100"
import requests
url = 'https://dapi.kakao.com/v2/local/search/address.json?query=제주특별자치도 제주시 중앙로25길 17 (이도1동)'
headers = {'Authorization' : f'KakaoAK {REST_API_KEY}'}
r = requests.get(url, headers=headers)
r.json() #'x': '126.980268573424' = 경도 'y': '35.9816612949055'} = 위도
{'documents': [{'address': {'address_name': '제주특별자치도 제주시 이도일동 1695-10',
'b_code': '5011010300',
'h_code': '5011053000',
'main_address_no': '1695',
'mountain_yn': 'N',
'region_1depth_name': '제주특별자치도',
'region_2depth_name': '제주시',
'region_3depth_h_name': '이도1동',
'region_3depth_name': '이도일동',
'sub_address_no': '10',
'x': '126.526722329545',
'y': '33.5068653918458'},
'address_name': '제주특별자치도 제주시 중앙로25길 17',
'address_type': 'ROAD_ADDR',
'road_address': {'address_name': '제주특별자치도 제주시 중앙로25길 17',
'building_name': '이도1동주민센터',
'main_building_no': '17',
'region_1depth_name': '제주특별자치도',
'region_2depth_name': '제주시',
'region_3depth_name': '이도일동',
'road_name': '중앙로25길',
'sub_building_no': '',
'underground_yn': 'N',
'x': '126.526722329545',
'y': '33.5068653918458',
'zone_no': '63194'},
'x': '126.526722329545',
'y': '33.5068653918458'}],
'meta': {'is_end': True, 'pageable_count': 1, 'total_count': 1}}
#딕셔너리에서 x,y값만 뽑아보기
r.json()['documents'][0]['y'],r.json()['documents'][0]['x']
('33.5068653918458', '126.526722329545')
단점: 같은 건물에 주민센터, 은행, 편의점이 있으면 모두 다 찾아온다. 이사를 가서 못 찾을 수도 있다.
https://developers.kakao.com/docs/latest/ko/local/dev-guide#search-by-keyword
주소지에서 여러개가 나왔을 때 필터링 작업(카테고리 코드)
주소 검색하기 보다 좀 더 자세히 찾고 싶을 떄 키워드로 장소 검색
curl -v -X GET "https://dapi.kakao.com/v2/local/search/keyword.json?y=37.514322572335935&x=127.06283102249932&radius=20000" \
-H "Authorization: KakaoAK ${REST_API_KEY}" \
--data-urlencode "query=카카오프렌즈"
curl -v -X GET "https://dapi.kakao.com/v2/local/search/category.json?category\_group\_code=PM9&radius=20000" \
-H "Authorization: KakaoAK ${REST_API_KEY}
import requests
url = 'https://dapi.kakao.com/v2/local/search/keyword.json?query=제주특별자치도 제주시 중앙로25길 17&category_group=P03'
headers = {'Authorization' : f'KakaoAK {REST_API_KEY}'}
r = requests.get(url, headers=headers)
r.json()
{'documents': [{'address_name': '제주특별자치도 제주시 이도1동 1695-10',
'category_group_code': 'PO3',
'category_group_name': '공공기관',
'category_name': '사회,공공기관 > 지방행정기관 > 행정복지센터 > 주민센터',
'distance': '',
'id': '8544450',
'phone': '064-728-1530',
'place_name': '이도1동 주민자치센터',
'place_url': 'http://place.map.kakao.com/8544450',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.526976882749',
'y': '33.5069402044009'},
{'address_name': '제주특별자치도 제주시 이도일동 1695-10',
'category_group_code': '',
'category_group_name': '',
'category_name': '교육,학문 > 학습시설 > 도서관 > 작은도서관',
'distance': '',
'id': '1945752826',
'phone': '',
'place_name': '이도1동새마을작은도서관',
'place_url': 'http://place.map.kakao.com/1945752826',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.5269048235922',
'y': '33.50673346484379'},
{'address_name': '제주특별자치도 제주시 이도1동 1695-10',
'category_group_code': '',
'category_group_name': '',
'category_name': '문화,예술 > 미술,공예 > 화랑',
'distance': '',
'id': '27491786',
'phone': '',
'place_name': '갤러리둘하나',
'place_url': 'http://place.map.kakao.com/27491786',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.52731820161067',
'y': '33.50671430608305'},
{'address_name': '제주특별자치도 제주시 이도일동 1695-10',
'category_group_code': '',
'category_group_name': '',
'category_name': '교통,수송 > 자동차 > 전기자동차 충전소',
'distance': '',
'id': '251011575',
'phone': '1899-8852',
'place_name': '이도1동주민센터 전기차충전소',
'place_url': 'http://place.map.kakao.com/251011575',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.52695650627699',
'y': '33.50672915423244'},
{'address_name': '제주특별자치도 제주시 이도일동 1695-10',
'category_group_code': '',
'category_group_name': '',
'category_name': '사회,공공기관 > 지방행정기관 > 무인민원발급창구',
'distance': '',
'id': '1702667723',
'phone': '',
'place_name': '무인민원발급창구 이도1동주민센터',
'place_url': 'http://place.map.kakao.com/1702667723',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.52698459773',
'y': '33.5069068749784'},
{'address_name': '제주특별자치도 제주시 이도일동 1695-10',
'category_group_code': '',
'category_group_name': '',
'category_name': '사회,공공기관 > 행정기관 > 예비군',
'distance': '',
'id': '2097576347',
'phone': '064-722-4806',
'place_name': '이도일도1예비군동대',
'place_url': 'http://place.map.kakao.com/2097576347',
'road_address_name': '제주특별자치도 제주시 중앙로25길 17',
'x': '126.52672328881',
'y': '33.5068671086054'}],
'meta': {'is_end': True,
'pageable_count': 6,
'same_name': {'keyword': '',
'region': [],
'selected_region': '제주 제주시 중앙로25길'},
'total_count': 6}}
data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 43 entries, 0 to 42
Data columns (total 9 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 지역 43 non-null object
1 읍면동 43 non-null object
2 전화번호 43 non-null object
3 주소 43 non-null object
4 일반현황 43 non-null object
5 청사현황 43 non-null object
6 자치센터현황 41 non-null object
7 데이터기준일자 43 non-null object
8 Unnamed: 8 0 non-null float64
dtypes: float64(1), object(8)
memory usage: 3.1+ KB
data.head(1)
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | Unnamed: 8 | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 (일도일동) | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | NaN |
#열(column) 제거
data.drop(columns = ['Unnamed: 8'], inplace=True) #unnamed: 8 컬럼제거
data.columns #제거확인
Index(['지역', '읍면동', '전화번호', '주소', '일반현황', '청사현황', '자치센터현황', '데이터기준일자'], dtype='object')
# 주소에서 ()제거
data['주소']=data['주소'].str.split('(').str.get(0)
data.head(2)
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | |
|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 |
| 1 | 제주시 | 일도2동 | 064-728-4442 | 제주특별자치도 제주시 고마로 28 | 인구 38400명 / 면적2.18㎢ / 48통326반 | 지상 2층·지하 1층 / 연면적 1307.01 | 총면적 617.22㎡ / 개소일 2000-12-24 | 2019-06-20 |
def get_yx(query):
import requests #import에서 함수까리 시간 오래 걸릴 수 있어서 import를 다시 해줌
url = f'https://dapi.kakao.com/v2/local/search/keyword.json?query={query}&category_group=P03'
headers = {'Authorization' : f'KakaoAK {REST_API_KEY}'}
r = requests.get(url, headers=headers)
data = r.json()
try:
return [data['documents'][0]['y'],data['documents'][0]['x']]
except:
return '결과없음'
#java - try(문제가 생기면) ,catch(오류처리) / python - try(문제가 생기면 try실행), except()
get_yx('제주특별자치도 제주시 중앙로7길 15')
['33.5150737361162', '126.526342790758']
get_yx('제주특별자치도 제주시 고마로 28')
'결과없음'
#apply함수 시리즈series로 들어간다.data['위치'] 열에 넣어준다.
data['위치'] = data['주소'].apply(get_yx) #data['주소']이 것이 apply(get_yx)에 첫 번째 항목으로 들어간다.
data.head(2)
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | 위치 | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | [33.5150737361162, 126.526342790758] |
| 1 | 제주시 | 일도2동 | 064-728-4442 | 제주특별자치도 제주시 고마로 28 | 인구 38400명 / 면적2.18㎢ / 48통326반 | 지상 2층·지하 1층 / 연면적 1307.01 | 총면적 617.22㎡ / 개소일 2000-12-24 | 2019-06-20 | 결과없음 |
'위치'컬럼의 값을 이용해서 마커를 생성하세요
tooltip으로 '읍면동'컬럼을 값을 사용해서 지도에 표시한다.(markercluster이용)
import folium
from folium.plugins import MarkerCluster
jeju_loc = [33.36146,126.5291977]
m = folium.Map(jeju_loc,zoom_start=11)
mc = MarkerCluster().add_to(m)
for index,row in data.iterrows(): #interrows 안에 index,row가 들어 있따
#print(index,row) #row = series
if row['위치'] != '결과없음':
folium.Marker(row['위치'],tooltip=row['읍면동']).add_to(mc)
m

#apply적용, apply는 함수를 받아서 사용한다
m = folium.Map(jeju_loc,zoom_start=11)
mc = MarkerCluster().add_to(m)
def display(data,map):
print(data)
if data[0] != '결과없음':
folium.Marker(data[0],tooltip=data[1]).add_to(map)
data[['위치','읍면동']].apply(lambda x:display(x,map=mc), axis=1) #apply에 기본적으로 함수가 들어가야 해서 lambda식을 써야 한다.
#axis=1 -> 위치, 읍면동을 같이 묶어서 잘라서 보내줘야 한다. 열기준,행방향
m
위치 [33.5150737361162, 126.526342790758]
읍면동 일도1동
Name: 0, dtype: object
위치 결과없음
읍면동 일도2동
Name: 1, dtype: object
위치 [33.5069402044009, 126.526976882749]
읍면동 이도1동
Name: 2, dtype: object
위치 [33.4970469392912, 126.535290947586]
읍면동 이도2동
Name: 3, dtype: object
위치 [33.5041154034239, 126.517362400655]
읍면동 삼도1동
Name: 4, dtype: object
위치 [33.5117364099539, 126.522210779319]
읍면동 삼도2동
Name: 5, dtype: object
위치 [33.50909779859489, 126.51326647018216]
읍면동 용담1동
Name: 6, dtype: object
위치 [33.5114717601895, 126.511681792482]
읍면동 용담2동
Name: 7, dtype: object
위치 [33.5150321080548, 126.531518045311]
읍면동 건입동
Name: 8, dtype: object
위치 [33.52021737989457, 126.5654667308753]
읍면동 화북동
Name: 9, dtype: object
위치 [33.5218857941584, 126.585599365991]
읍면동 삼양동
Name: 10, dtype: object
위치 [33.4917232671377, 126.594687244151]
읍면동 봉개동
Name: 11, dtype: object
위치 [33.4763364526145, 126.545269320539]
읍면동 아라동
Name: 12, dtype: object
위치 [33.49512911933711, 126.5115798618361]
읍면동 오라동
Name: 13, dtype: object
위치 [33.4881587279011, 126.496886364509]
읍면동 연동
Name: 14, dtype: object
위치 [33.4830787815432, 126.477191625104]
읍면동 노형동
Name: 15, dtype: object
위치 [33.4928558848117, 126.432175190874]
읍면동 외도동
Name: 16, dtype: object
위치 [33.4997987984561, 126.458099340466]
읍면동 이호동
Name: 17, dtype: object
위치 [33.5029008833987, 126.468230562279]
읍면동 도두동
Name: 18, dtype: object
위치 [33.410671262551865, 126.26694451906893]
읍면동 한림읍
Name: 19, dtype: object
위치 [33.4796186026626, 126.403354525009]
읍면동 애월읍
Name: 20, dtype: object
위치 [33.52252490132381, 126.85205144932898]
읍면동 구좌읍
Name: 21, dtype: object
위치 [33.53440130090102, 126.63413223748915]
읍면동 조천읍
Name: 22, dtype: object
위치 [33.3004273889195, 126.183868588586]
읍면동 한경면
Name: 23, dtype: object
위치 [33.9637161687759, 126.296120635111]
읍면동 추자면
Name: 24, dtype: object
위치 [33.50645032860738, 126.95298316543516]
읍면동 우도면
Name: 25, dtype: object
위치 [33.22666983359228, 126.25181131648702]
읍면동 대정읍
Name: 26, dtype: object
위치 [33.279884789306365, 126.72066566768895]
읍면동 남원읍
Name: 27, dtype: object
위치 [33.44208942295687, 126.91095279068804]
읍면동 성산읍
Name: 28, dtype: object
위치 [33.2576271446112, 126.330674173688]
읍면동 안덕면
Name: 29, dtype: object
위치 [33.3267161051326, 126.830982131689]
읍면동 표선면
Name: 30, dtype: object
위치 [33.24501690416015, 126.56601476297993]
읍면동 송산동
Name: 31, dtype: object
위치 [33.24586536852, 126.565248720147]
읍면동 정방동
Name: 32, dtype: object
위치 결과없음
읍면동 중앙동
Name: 33, dtype: object
위치 [33.2478169930669, 126.561281643719]
읍면동 천지동
Name: 34, dtype: object
위치 [33.2633027229827, 126.615561813032]
읍면동 효돈동
Name: 35, dtype: object
위치 [33.26876038272497, 126.58664440561532]
읍면동 영천동
Name: 36, dtype: object
위치 [33.2579021227878, 126.568872247568]
읍면동 동홍동
Name: 37, dtype: object
위치 [33.25596381916347, 126.56017529238014]
읍면동 서홍동
Name: 38, dtype: object
위치 [33.2481141374087, 126.511357417459]
읍면동 대륜동
Name: 39, dtype: object
위치 [33.2505202393, 126.477773783616]
읍면동 대천동
Name: 40, dtype: object
위치 [33.253331287627, 126.43363928392]
읍면동 중문동
Name: 41, dtype: object
위치 [33.2542812830743, 126.397876776446]
읍면동 예래동
Name: 42, dtype: object
#일반현황에서 인구수를 추출
#'인구수'column 추가, data['인구'] =
#데이터타입은 정수형태로 저장 .astype('int')
import re
data['일반현황'].apply(lambda x : int(re.search('[0-9]{4,}',x).group())) #re.research('[0-9]{4,}을 x에서 찾는다. group으로 return하고 int정수로 처리한다.
0 3146
1 38400
2 7418
3 41428
4 14281
5 9431
6 8368
7 16701
8 10850
9 25559
10 25000
11 3046
12 28741
13 13729
14 39897
15 56223
16 17606
17 4104
18 2837
19 19925
20 26539
21 15080
22 20804
23 8745
24 2820
25 1718
26 16610
27 19151
28 13866
29 11867
30 11167
31 5207
32 2444
33 4003
34 3798
35 5475
36 2082
37 22225
38 10697
39 10344
40 11310
41 10684
42 3813
Name: 일반현황, dtype: int64
data['인구'] = data['일반현황'].str.split('/').str.get(0).str.split('(').str.get(0).str.split().str.get(-1).str.replace('명','').astype('int')
data.head(1)
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | 위치 | 인구 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | [33.5150737361162, 126.526342790758] | 3146 |
data.지역.value_counts()
제주시 26
서귀포시 17
Name: 지역, dtype: int64
#id값 replace, str.replace -> 문자열의 일부를 찾아줌 vs replace는 series에서 찾아줌 다 똑같은 데이터한해서 바꿔준다.
data['지역명'] = data['지역'].replace(['제주시','서귀포시'],["Jeju","Seogwipo"]) #제주시 -> "Jeju", 서귀포시 -> "Seogwipo"
data.head(2)
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | 위치 | 인구 | 지역명 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | [33.5150737361162, 126.526342790758] | 3146 | Jeju |
| 1 | 제주시 | 일도2동 | 064-728-4442 | 제주특별자치도 제주시 고마로 28 | 인구 38400명 / 면적2.18㎢ / 48통326반 | 지상 2층·지하 1층 / 연면적 1307.01 | 총면적 617.22㎡ / 개소일 2000-12-24 | 2019-06-20 | 결과없음 | 38400 | Jeju |
#여러개인 jeju(수치값)를 1개로 묶는 작업, group
result = data.groupby(['지역명'])['인구'].sum().reset_index()
result
| 지역명 | 인구 | |
|---|---|---|
| 0 | Jeju | 462396 |
| 1 | Seogwipo | 167641 |
#서귀포시 인구보다 제주시 인구가 더 많다.
import json
m = folium.Map(jeju_loc,zoom_start=11)
jsonfile = open('jejusi.json','r')
jsondata = json.loads(jsonfile.read())
folium.Choropleth(jsondata, #gep_data= json data
data=result,
columns=['지역명','인구'],
key_on='feature.id').add_to(m)
m

data
| 지역 | 읍면동 | 전화번호 | 주소 | 일반현황 | 청사현황 | 자치센터현황 | 데이터기준일자 | 위치 | 인구 | 지역명 | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 제주시 | 일도1동 | 064-728-4412 | 제주특별자치도 제주시 중앙로7길 15 | 인구 3146명 / 면적 0.33㎢ / 11통 61개반 | 지상 3층 / 연면적 585㎡ | 개소일 2000-12-20 | 2019-06-20 | [33.5150737361162, 126.526342790758] | 3146 | Jeju |
| 1 | 제주시 | 일도2동 | 064-728-4442 | 제주특별자치도 제주시 고마로 28 | 인구 38400명 / 면적2.18㎢ / 48통326반 | 지상 2층·지하 1층 / 연면적 1307.01 | 총면적 617.22㎡ / 개소일 2000-12-24 | 2019-06-20 | 결과없음 | 38400 | Jeju |
| 2 | 제주시 | 이도1동 | 064-728-1530 | 제주특별자치도 제주시 중앙로25길 17 | 인구 7418명 / 면적 0.79㎢ / 16통 97개반 | 지상 2층 / 2층면적 205㎡ | 개소일 2000-12-28 | 2019-06-20 | [33.5069402044009, 126.526976882749] | 7418 | Jeju |
| 3 | 제주시 | 이도2동 | 064-755-2021 | 제주특별자치도 제주시 오복3길 8 | 인구 41428명 / 면적 5.4㎢ / 49통 323반 | 지하 1층·지상 3층 / 연면적 1223.52㎡ | 총면적 388.9㎡ / 개소일 2000-10-05 | 2019-06-20 | [33.4970469392912, 126.535290947586] | 41428 | Jeju |
| 4 | 제주시 | 삼도1동 | 064-728-4532 | 제주특별자치도 제주시 전농로 40 | 인구 14281명 / 면적0.87㎢ / 18통122반 | 지하 1층·지상3층 / 연면적 2070.37㎡ | 총면적 456.55㎡ | 2019-06-20 | [33.5041154034239, 126.517362400655] | 14281 | Jeju |
| 5 | 제주시 | 삼도2동 | 064-728-4562 | 제주특별자치도 제주시 관덕로6길 15 | 인구 9431명 / 면적0.83㎢ / 19통109반 | 지하 1층·지상3층 / 연면적 814㎡ | 총면적 368.69㎡ / 개소일 2000-12-30 | 2019-06-20 | [33.5117364099539, 126.522210779319] | 9431 | Jeju |
| 6 | 제주시 | 용담1동 | 064-728-4592 | 제주특별자치도 제주시 용남3길 11 | 인구 8368명 / 면적0.61㎢ / 15통102반 | 지상 3층 / 대지면적 8825㎡ / 건축면적 428.55 | 연면적 112049㎡ / 개소일 2000-12-24 | 2019-06-20 | [33.50909779859489, 126.51326647018216] | 8368 | Jeju |
| 7 | 제주시 | 용담2동 | 064-728-1535 | 제주특별자치도 제주시 흥운길 27 | 인구 16701명 / 면적 4.94㎢ / 23통 155반 | 지상 3층 지하 1층 / 연면적 1046.13㎡ | 총면적 449.55㎡ / 개관일 2000-12-30 | 2019-06-20 | [33.5114717601895, 126.511681792482] | 16701 | Jeju |
| 8 | 제주시 | 건입동 | 064-728-1536 | 제주특별자치도 제주시 만덕로 18 | 인구 10850명 / 면적2.5㎢ / 20통113반 | 지상 4층 / 연면적 1192.37㎡ | 총면적 323.92㎡ / 개소일 2000-12-27 | 2019-06-20 | [33.5150321080548, 126.531518045311] | 10850 | Jeju |
| 9 | 제주시 | 화북동 | 064-728-4682 | 제주특별자치도 제주시 진남로6길 17 | 인구 25559('17.5월 현재) / 면적8.28㎢ / 33통 205반 | 지하 1층·지상3층 / 연면적 2375.80㎡ | 연면적 54㎡ / 개소일 2000-12-27 | 2019-06-20 | [33.52021737989457, 126.5654667308753] | 25559 | Jeju |
| 10 | 제주시 | 삼양동 | 064-728-1538 | 제주특별자치도 제주시 지석13길 6 | 인구 25000명('19. 1.기준) / 면적 9.525㎢ / 23통 122반 | 지하 1층·지상 3층 / 연면적 1688.11㎡ | 총면적 2034㎡ / 개소일 2000-12-28 | 2019-06-20 | [33.5218857941584, 126.585599365991] | 25000 | Jeju |
| 11 | 제주시 | 봉개동 | 064-728-4742 | 제주특별자치도 제주시 봉개북1길 15 | 인구 3046명 / 면적47.2㎢ / 7통30반 | 지하 1층·지상2층 / 연면적 770㎡ | 총면적 390㎡ / 개소일 2000-10-05 | 2019-06-20 | [33.4917232671377, 126.594687244151] | 3046 | Jeju |
| 12 | 제주시 | 아라동 | 064-728-1540 | 제주특별자치도 제주시 인다8길 5 | 인구 28741명('17.2.28기준) / 면적70.48㎢ / 24통126반 | 지하 1층·지상3층 / 연면적 453.26㎡ | 총면적 197.44㎡ / 개소일 2000-12-29 | 2019-06-20 | [33.4763364526145, 126.545269320539] | 28741 | Jeju |
| 13 | 제주시 | 오라동 | 064-728-1541 | 제주특별자치도 제주시 오라로 10길 6 | 인구 13729명 / 면적28.7㎢ / 17통74개반 | 지하 1층·지상3층 / 연면적815.8㎡ | 총면적 699.6㎡ / 개소일 2000-12-30 | 2019-06-20 | [33.49512911933711, 126.5115798618361] | 13729 | Jeju |
| 14 | 제주시 | 연동 | 064-728-4836 | 제주특별자치도 제주시 신대로 101 | 인구 39897 / 면적12.4㎢ / 41통268반 | 지하 1층·지상3층 / 연면적 945.61㎡ | 개소일 2001. 9. 5 | 2019-06-20 | [33.4881587279011, 126.496886364509] | 39897 | Jeju |
| 15 | 제주시 | 노형동 | 064-728-4862 | 제주특별자치도 제주시 노형9길 9-4 | 인구 56223명('18.12월 말 현재) / 면적 45.24㎢ / 58통 307반 | 지하 1층·지상3층 / 연면적 733.6㎡ | 총면적 733.6㎡ / 개소일 2000-12-31 | 2019-06-20 | [33.4830787815432, 126.477191625104] | 56223 | Jeju |
| 16 | 제주시 | 외도동 | 064-728-4892 | 제주특별자치도 제주시 일주서로 7350 | 인구 17606명 / 면적 8.4㎢ / 19통 136반 | 지상 3층·지하 1층 / 연면적 1847.59㎡ | 총면적 722.56㎡ | 2019-06-20 | [33.4928558848117, 126.432175190874] | 17606 | Jeju |
| 17 | 제주시 | 이호동 | 064-728-1545 | 제주특별자치도 제주시 백포서길 9 | 인구 4104명 / 면적 2.56㎢ / 8통 37반 | 지하 1층·지상 2층 / 연면적 543.81㎡ | 총면적 대지1047㎡ 건축면적 352.84㎡ / 개소일 2001-01-01 | 2019-06-20 | [33.4997987984561, 126.458099340466] | 4104 | Jeju |
| 18 | 제주시 | 도두동 | 064-728-4952 | 제주특별자치도 제주시 도두1길 9-1 | 인구 2837명 / 면적 4.03㎢ / 6통 25반 | 지상 2층·지하 1층 / 연면적646㎡ | 총면적 142.41㎡ / 개소일 2000-12-30 | 2019-06-20 | [33.5029008833987, 126.468230562279] | 2837 | Jeju |
| 19 | 제주시 | 한림읍 | 064-728-7628 | 제주시 한림읍 한림상로 132 | 인구 19925명 / 면적91.99㎢ / 21개리 56개자연마을 350개반 | 지상 2층 / 연면적 1066.33㎡ | 총면적 1066.33㎡ / 개소일 2007-07-19 | 2019-06-20 | [33.410671262551865, 126.26694451906893] | 19925 | Jeju |
| 20 | 제주시 | 애월읍 | 064-728-8809 | 제주특별자치도 제주시 애월읍 하귀로 21길 30 | 인구 26539명 / 면적202.16㎢ / 26개리70개자연마을317개반 | 지하 1층·지상2층 / 연면적 618.6㎡ | 대지면적 1592㎡ / 개소일 2006-03-11 | 2019-06-20 | [33.4796186026626, 126.403354525009] | 26539 | Jeju |
| 21 | 제주시 | 구좌읍 | 064-728-7713 | 제주특별자치도 제주시 구좌읍 일주동로 3116 | 인구 15080명 / 면적 185.82㎢ / 12개리 60동(자연마을) 220반 | 지상 2층 / 연면적 1155㎡ | 총면적 1155㎡ / 개소일 2002-05-22 | 2019-06-20 | [33.52252490132381, 126.85205144932898] | 15080 | Jeju |
| 22 | 제주시 | 조천읍 | 064-728-7813 | 제주특별자치도 제주시 조천읍 신북로 194 | 인구 20804명 / 면적150.64㎢ / 12개리 244개반 | 지상 2층 / 연면적 1876.38㎡ | 총면적 555.3㎡ / 개관일 2007-05-10 | 2019-06-20 | [33.53440130090102, 126.63413223748915] | 20804 | Jeju |
| 23 | 제주시 | 한경면 | 064-728-7913 | 제주특별자치도 제주시 한경면 칠전로 37 | 인구 8745명('16.12.31.) / 면적79123㎢ / 15개리 51개자연마을... | 지상 2층 / 연면적 602.4㎡ | 총면적 3369.71㎡ / 개소일 2002-01-08 | 2019-06-20 | [33.3004273889195, 126.183868588586] | 8745 | Jeju |
| 24 | 제주시 | 추자면 | 064-728-4264 | 제주특별자치도 제주시 추자면 추자로 26 | 인구 2820명 / 면적7.05㎢ / 6개리 9개마을 44개반 | 지하 1층·지상2층 / 연면적 705.46㎡ | 총면적 364.3㎡ / 개소일 2006-03-16 | 2019-06-20 | [33.9637161687759, 126.296120635111] | 2820 | Jeju |
| 25 | 제주시 | 우도면 | 064-728-1527 | 제주특별자치도 제주시 우도면 우도로 153 | 인구 1718명 / 면적 6.07㎢ / 4개리 12개자연마을 20개반 | 지상 2층 / 연면적 402㎡ | 총면적 402㎡ / 개소일 : 2006-08-25 | 2019-06-20 | [33.50645032860738, 126.95298316543516] | 1718 | Jeju |
| 26 | 서귀포시 | 대정읍 | 064-760-4012 | 제주특별자치도 서귀포시 대정읍 하모중앙로 20 | 인구 16610명 / 면적 78.53㎢ / 23개리 240개반 | 지상 2층·지하 1층 / 연면적 986.95㎡(본관) | 총면적 149㎡ / 개소일 2006-08-29 | 2019-06-20 | [33.22666983359228, 126.25181131648702] | 16610 | Seogwipo |
| 27 | 서귀포시 | 남원읍 | 064-760-4118 | 제주특별자치도 서귀포시 남원읍 태위로 695 | 인구 19151명 / 면적 188.70㎢ / 17개리 187개반('16.12.31 기준) | 지상 3층·지하 1층 / 연면적 1044.02㎡ | 총면적 486m² / 개소일 2000-10-26 | 2019-06-20 | [33.279884789306365, 126.72066566768895] | 19151 | Seogwipo |
| 28 | 서귀포시 | 성산읍 | 064-760-4214 | 제주특별자치도 서귀포시 성산읍 일주동로 4330 | 인구 13866명 / 면적 107.673㎢ / 14개리 152개반 | 지하 1층·지상 2층 / 연면적 1272.22㎡ | 총면적 347.15㎡ 중 275.42㎡ | 2019-06-20 | [33.44208942295687, 126.91095279068804] | 13866 | Seogwipo |
| 29 | 서귀포시 | 안덕면 | 064-760-4320 | 제주특별자치도 서귀포시 안덕면 화순서서로 74 | 인구 11867명 ('18.12.31.기준) / 면적 105.58㎢ / 12개리 1... | 지상 2층 | 총면적 155㎡ / 개소일 2000-11-14 | 2019-06-20 | [33.2576271446112, 126.330674173688] | 11867 | Seogwipo |
| 30 | 서귀포시 | 표선면 | 064-760-4413 | 제주특별자치도 서귀포시 표선면 표선중앙로 74 | 인구 11167명 / 면적 135.172㎢ / 10개리 94개반 | 지상 2 층 지하 1층 | 총면적 214㎡ / 개소일 2006-08-16 | 2019-06-20 | [33.3267161051326, 126.830982131689] | 11167 | Seogwipo |
| 31 | 서귀포시 | 송산동 | 064-760-4503 | 제주특별자치도 서귀포시 소암로 4 | 인구 5207명 / 면적 4.8㎢ / 2통 11반 | 지상 3층 지하 1층 / 연면적 1077㎡ | 총면적 276.6㎡ / 개소일 2000-12-28 | 2019-06-20 | [33.24501690416015, 126.56601476297993] | 5207 | Seogwipo |
| 32 | 서귀포시 | 정방동 | 064-760-4541 | 제주특별자치도 서귀포시 태평로421번길 7 | 인구 2444명 | 지상 3층 지하 1층 / 연면적 769.87㎡ | NaN | 2019-06-20 | [33.24586536852, 126.565248720147] | 2444 | Seogwipo |
| 33 | 서귀포시 | 중앙동 | 064-760-4562 | 제주특별자치도 서귀포시 동문동로 27 | 인구 4003명('17. 12. 31. 현재) 면적 0.45㎢ 8통 41반 | 지상 3층 지하 1층 (연면적 769.87㎡) | NaN | 2019-06-20 | 결과없음 | 4003 | Seogwipo |
| 34 | 서귀포시 | 천지동 | 064-760-4593 | 제주특별자치도 서귀포시 중정로47번길 3 | 인구 3798명 / 면적 1.39㎢ / 6통 30반 | 지상 2층 지하 1층 / 연면적646㎡ | 총면적 53평 / 개소일 2001-01-05 | 2019-06-20 | [33.2478169930669, 126.561281643719] | 3798 | Seogwipo |
| 35 | 서귀포시 | 효돈동 | 064-767-1535 | 제주특별자치도 서귀포시 남선동산로 26 | 인구 5475명 / 면적 6.6㎢ / 2통 9반 | 지상 3층 지하 1층 | 총면적 147평 / 개소일 2000-12-29 | 2019-06-20 | [33.2633027229827, 126.615561813032] | 5475 | Seogwipo |
| 36 | 서귀포시 | 영천동 | 064-760-4664 | 제주특별자치도 서귀포시 토평로 15 | 2082 가구 4980명 / 면적 46.33㎢ / 5통 36반('12.12.31 현재) | 지상 2층 지하 1층 | 총면적 136.5㎡ / 개소일 2001-01-04 | 2019-06-20 | [33.26876038272497, 126.58664440561532] | 4980 | Seogwipo |
| 37 | 서귀포시 | 동홍동 | 064-760-4682 | 제주특별자치도 서귀포시 동홍로 104 | 인구 22225명 / 면적 14.3㎢ / 11통 124반 | 지상 2층 지하 1층 / 연면적 1934.31㎡ | 개소일 2001-01-04 | 2019-06-20 | [33.2579021227878, 126.568872247568] | 22225 | Seogwipo |
| 38 | 서귀포시 | 서홍동 | 064-760-4745 | 제주특별자치도 서귀포시 중앙로 125 | 인구 10697명('18.12.31. 현재) / 면적 13.34k㎡ / 5통 30반 | 지상 3층 / 연면적 1134㎡ | 총면적 631.47㎡ / 개소일 2000-12-27 | 2019-06-20 | [33.25596381916347, 126.56017529238014] | 10697 | Seogwipo |
| 39 | 서귀포시 | 대륜동 | 064-760-4755 | 제주특별자치도 서귀포시 일주동로 9185 | 인구 10344명('15.05.31일현재) / 면적 22.24㎢ / 4통 17반 | 지상 3층 / 연면적 914.28㎡(부지면적 2029㎡) | 총면적 526㎡ / 개소일 2001-01-05 | 2019-06-20 | [33.2481141374087, 126.511357417459] | 10344 | Seogwipo |
| 40 | 서귀포시 | 대천동 | 064-760-4785 | 제주특별자치도 서귀포시 도순로 44 | 인구 11310명 / 면적 50.5㎢ / 7통 51반 ('17.4.30기준) | 지상 2층 / 연면적 300.48㎡ | 총면적 90평 / 개소일 2000-12-28 | 2019-06-20 | [33.2505202393, 126.477773783616] | 11310 | Seogwipo |
| 41 | 서귀포시 | 중문동 | 064-760-4818 | 제주특별자치도 서귀포시 1100로 30 | 인구 10684명 / 면적 56.44㎢ / 4통 49반 | 지상 3층 / 연면적 2407.5㎡ | 총면적 2407.5㎡ / 개소일 2000-11-02 | 2019-06-20 | [33.253331287627, 126.43363928392] | 10684 | Seogwipo |
| 42 | 서귀포시 | 예래동 | 064-760-4864 | 제주특별자치도 서귀포시 예래로 82 | 인구 3813명 / 면적 37.7㎢ / 5통 30반 | 지상 2층·지하 1층 / 연면적 449.14㎡ | 총면적 47평 / 개소일 2000-12-27 | 2019-06-20 | [33.2542812830743, 126.397876776446] | 3813 | Seogwipo |
import json
m = folium.Map(jeju_loc,zoom_start=11)
jsonfile = open('jeju.json','r')
jsondata = json.loads(jsonfile.read())
folium.Choropleth(jsondata, #gep_data= json data
data=data,
columns=['읍면동','인구'],
key_on='feature.id').add_to(m)
m
