shop.info() # 총데이터 50만개,
shop.columns
Index(['상가업소번호', '상호명', '지점명', '상권업종대분류코드', '상권업종대분류명', '상권업종중분류코드',
'상권업종중분류명', '상권업종소분류코드', '상권업종소분류명', '표준산업분류코드', '표준산업분류명', '시도코드',
'시도명', '시군구코드', '시군구명', '행정동코드', '행정동명', '법정동코드', '법정동명', '지번코드',
'대지구분코드', '대지구분명', '지번본번지', '지번부번지', '지번주소', '도로명코드', '도로명', '건물본번지',
'건물부번지', '건물관리번호', '건물명', '도로명주소', '구우편번호', '신우편번호', '동정보', '층정보',
'호정보', '경도', '위도'],
dtype='object')
view_columns = ['상호명', '지점명', '상권업종대분류명', '상권업종중분류명', '상권업종소분류명', '시도명', '시군구명',
'행정동명', '법정동명', '지번주소', '도로명', '도로명주소', '경도', '위도']
shop = shop[view_columns]
shop.head()
Index(['상호명', '지점명', '상권업종대분류명', '상권업종중분류명', '상권업종소분류명', '시도명', '시군구명', '행정동명',
'법정동명', '지번주소', '도로명', '도로명주소', '경도', '위도'],
dtype='object')
상호명 1
지점명 432587
상권업종대분류명 0
상권업종중분류명 0
상권업종소분류명 0
시도명 0
시군구명 0
행정동명 0
법정동명 0
지번주소 0
도로명 0
도로명주소 0
경도 0
위도 0
dtype: int64
plt.figure(figsize=(14, 10))
sns.scatterplot(data=shop_seoul_edu_computer, x='경도', y='위도', hue='상권업종소분류명')
# folium으로 shop_seoul_edu_computer의 '컴퓨터학원' 데이터 출력하기
# 강사님 코드
import folium
data = shop_seoul_edu_computer
edu_map = folium.Map(location=[data['위도'].mean(), data['경도'].mean()], zoom_start=12)# 중심지도를 그냥 데이터들의 중심으로 잡기
for i in data.index:# # 인덱스는 null이 없으니 인덱스만큼 돌아라
# 예) 코리아IT아카데미 - 서울 강남구 역삼동 ...
edu_name = data.loc[i, '상호명'] + ' - ' + data.loc[i, '도로명주소']
popup = folium.Popup(edu_name, max_width=500)
folium.Marker(location=[data.loc[i, '위도'], data.loc[i, '경도']], popup=popup).add_to(edu_map)
edu_map
# 문제.
* 상권업종중분류명이 '커피점/카페'인 데이터 중 '구군'이 '강남구'인 데이터만 지도에 표기
shop_seoul_cafe = shop_seoul[shop_seoul['상권업종중분류명'] == '커피점/카페']
data = shop_seoul_cafe[shop_seoul_cafe['시군구명'] == '강남구']
cafe_map = folium.Map(location=[data['위도'].mean(), data['경도'].mean()], zoom_start=14)
for i in data.index:
cafe_name = data.loc[i, '상호명']
popup = folium.Popup(cafe_name,max_width=200)
folium.Marker(location=[data.loc[i, '위도'], data.loc[i, '경도']], popup=popup).add_to(cafe_map)
cafe_map