오늘은 위도 경도 데이터를 통해 지도를 그려보는 스터디를 해보도록 하겠습니다.
진행을 위해서는 folium 이라는 라이브러리를 설치하고 불러와야 하는데요.
저는 설치가 되어있다고 가정하고 import 하는 부분부터 진행해보도록 하겠습니다.
import folium
# 지도의 중심을 지정하기 위해 위도와 경도의 평균을 구합니다.
lat = df_31['위도'].mean()
long = df_31['경도도'].mean()
m =folium.Map(location=[lat,long], zoom_start= 12)
명령어를 적으면 아래 이미지와 같이 위도/경도 평균값을 나타내는 지도가 나오게 됩니다.
샘플값을 추출해서 지도에 표시해보도록 하겠습니다.
df_31.sample(1)
m =folium.Map(location=[lat,long], zoom_start= 12)
folium.Marker(
[37.530233, 126.873278],
popup='<i>베스킨라빈스</i>',
tooltip="베스킨라빈스").add_to(m)
아래 지도에 파랗게 표시되는 것을 확인할 수 있습니다. folium.Markert라는 함수를 사용하였고 popup은 클릭시, tooltip은 마우스를 대면 '베스킨라빈스'라고 뜨는 것을 확인하실 수 있습니다.
그러면 이제 데이터셋에 있는 위도/경도 데이터를 통해 베스킨라빈스와 던킨도너츠를 지도에 나타내보도록 하겠습니다.
# 데이터프레임의 인덱스만 출력합니다. -> 인덱스번호를 반복문을 통해 데이터 값을 불러오려고 합니다.
df_31.index
m =folium.Map(location=[lat,long], zoom_start= 12)
for i in df_31.index :
sub_lat =df_31.loc[i,'위도']
sub_long =df_31.loc[i,'경도']
title = df_31.loc[i,'상호명'] + "-" + df_31.loc[i,'도로명주소']
icon_color = "blue"
if df_31.loc[i, "브랜드명"] == "던킨":
icon_color = "red"
folium.Marker(
[sub_lat, sub_long],
icon=folium.Icon(color=icon_color),
popup= f'<i>{title}</i>',
tooltip=f"{title}").add_to(m)
m
'파이썬 데이터 분석' 카테고리의 다른 글
[python스터디] 문자열 치환/제거(replace 함수) (0) | 2021.08.22 |
---|---|
[python스터디] for문을 통한 월별 그래프 그리기(pointplot 사용) (0) | 2021.08.19 |
[python스터디] 컬럼명 변경하기(rename) (0) | 2021.08.14 |
[python스터디] 결측치 보기, 결측치 시각화(barplot) (0) | 2021.08.13 |
[python스터디] 필요없는 컬럼 정리하기 (0) | 2021.08.12 |