728x90
반응형
시작에 앞서
해당 내용은 <파이썬으로 데이터 주무르기> -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.
보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.
이전 분석 보기
[파이썬] 시카고 맛집 분석-2
시작에 앞서 해당 내용은 -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다. 보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다. 이전 분석 보기 [파이썬] 시카고 맛집 분석-1
puppy-foot-it.tistory.com
맛집 위치를 지도에 표기하기
먼저 필요한 모듈을 import
import folium
import pandas as pd
import googlemaps
import numpy as np
전 시간에 저장했던 csv 파일 불러오기
df = pd.read_csv('../data/03. best_sandwiches_list_chicago2.csv', index_col=0)
df.head(5)
googlemaps 읽어오기 ( API Key 를 이용)
import googlemaps as gmaps
gmaps_key = "본인의 googlemaps API key"
gmaps = googlemaps.Client(key=gmaps_key)
50개 맛집의 위도와 경도를 df에 추가하기
df['lat'] = lat
df['lng'] = lng
df.head()
그리고 50개의 맛집의, 위도, 경도의 평균값을 중앙에 두기
# 지도 생성
mapping = folium.Map(location=[df['lat'].mean(), df['lng'].mean()], zoom_start=11)
# 'latitude' 열과 'longitude' 열에서 평균값을 계산
folium.Marker([df['lat'].mean(), df['lng'].mean()],
popup='center').add_to(mapping) # 중심에 마커 추가
mapping
50개의 맛집의 위도, 경도를 지도에 표기하기
# 지도 생성 및 중심 설정
mapping = folium.Map(location=[df['lat'].mean(), df['lng'].mean()], zoom_start=11)
# 데이터프레임 순회하면서 마커 추가
for n in df.index:
if df['Address'][n] != 'Multiple': # 'Address' 열 값이 'Multiple'이 아닌 경우에만 처리
lat = df['lat'][n] # 해당 행의 위도
lng = df['lng'][n] # 해당 행의 경도
cafe_name = df['Cafe'][n] # 해당 행의 카페 이름
# 마커 추가
folium.Marker([lat, lng], popup=cafe_name).add_to(mapping)
# 지도 출력
mapping
이라고 코드를 입력하였으나,
'ValueError: Location values cannot contain NaNs.' 이라는 에러 메시지를 받았다.
gpt says " 해당 오류는 Folium에서 지도에 표시하려는 위치 값(location)에 NaN(결측치)이 포함되어 있어서 발생한 ValueError입니다."
이라고 하여 다시 gpt 선생님께 코드를 받았다
# NaN 값을 가진 행을 제외하고 유효한 위치 값만 필터링
valid_locations = df.dropna(subset=['lat', 'lng'])
# 지도 생성 및 중심 설정
mapping = folium.Map(location=[valid_locations['lat'].mean(), valid_locations['lng'].mean()], zoom_start=11)
# 데이터프레임 순회하면서 유효한 위치에 대해서만 마커 추가
for n in valid_locations.index:
lat = valid_locations['lat'][n] # 해당 행의 위도
lng = valid_locations['lng'][n] # 해당 행의 경도
cafe_name = valid_locations['Cafe'][n] # 해당 행의 카페 이름
# 마커 추가
folium.Marker([lat, lng], popup=cafe_name).add_to(mapping)
# 지도 출력
mapping
그리고 결과는,
전체 코드
728x90
반응형
'[파이썬 Projects] > <파이썬 데이터 분석>' 카테고리의 다른 글
[파이썬] 주유소 가격 비교하기 - 2 (0) | 2024.04.29 |
---|---|
[파이썬] 주유소 가격 비교하기 - 1 (0) | 2024.04.20 |
[파이썬] 시카고 맛집 분석-2 (1) | 2024.04.17 |
[파이썬] 시카고 맛집 분석-1 (1) | 2024.04.16 |
[파이썬] 서울시 범죄 현황 분석 - 2 (0) | 2024.04.15 |