728x90
반응형
시작에 앞서
해당 내용은 <파이썬으로 데이터 주무르기> -민형기 저, BJPUBLIC 출판사 의 내용을 토대로 작성되었습니다.
보다 자세한 내용은 해당 교재를 확인하여 주시기 바랍니다.
이전 분석 보기
맛집 위치를 지도에 표기하기
먼저 필요한 모듈을 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 |