파이썬 지도 | [Python 강의] 데이터 지도에 표시하기 82 개의 베스트 답변

당신은 주제를 찾고 있습니까 “파이썬 지도 – [Python 강의] 데이터 지도에 표시하기“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 Vagazine 이(가) 작성한 기사에는 조회수 7,413회 및 좋아요 109개 개의 좋아요가 있습니다.

파이썬 지도 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 [Python 강의] 데이터 지도에 표시하기 – 파이썬 지도 주제에 대한 세부정보를 참조하세요

파이썬에서 Folium, leatflet.js를 이용해 좌표 데이터를 지도에 표시하는 방법에 대해서 소개를 합니다. 영상에서 사용하는 URL의 목록은 아래와 같습니다. 궁금한점이나 알고싶은 주제가 있다면 댓글 부탁드려요.
https://python-visualization.github.io/folium/quickstart.html
https://github.com/southkorea/southkorea-maps
https://www.google.com/maps/@37.4980751,127.027748,17z

파이썬 지도 주제에 대한 자세한 내용은 여기를 참조하세요.

Python 지도 시각화 – Folium

Python 시각화 모듈 Folium. … Folium은 leaftlet.js를 기반으로 지도를 그려주는 Python 모듈인데, 다른 시각화 패키지에 비해 상대적으로 오래 …

+ 더 읽기

Source: velog.io

Date Published: 10/21/2021

View: 9551

지도 시각화 도구 Folium 사용법을 파헤쳐보자! – 테디노트

folium은 leaflet.js 기반으로 만들어진 Python 지도 시각화 라이브러리 입니다. … folium을 사용하여 인터랙티브한 지도를 생성하고 마커를 추가하여 …

+ 여기를 클릭

Source: teddylee777.github.io

Date Published: 12/26/2022

View: 8995

folium(1) 시작하기( 패키지 설치하기, 지도 불러 오기, 지도 종류 …

파이썬에서 지도 위에 점을 찍거나, 선을 그리거나, 원을 그리는 등 지도에 원하는 정보를 시각적으로 나타내는 지도 시각화 패키지로 제일 유명한 …

+ 더 읽기

Source: blog.naver.com

Date Published: 8/1/2022

View: 7278

folium 을 통한 지도 시각화 및 마커(marker) 찍기

python에서 제공해주는 라이브러리로서 지도를 다루는 대표적인 라이브러리다. 설치법 !pip install folium. 사용법. import folium as …

+ 더 읽기

Source: continuous-development.tistory.com

Date Published: 8/10/2022

View: 1373

[지도 데이터 시각화] Part 4. Folium 살펴보기

js 라이브러리로, 어떻게하면 프론트 단에서 지도를 시각화하는지 자세히 설명되어 있습니다. 2를 위해서는, 먼저 파이썬에서 프론트단에 내가 원하는 …

+ 여기를 클릭

Source: dailyheumsi.tistory.com

Date Published: 11/26/2021

View: 8112

파이썬 -folium 지도시각화 – Yoo의 개발공부 블로그

파이썬으로 지도를 시각화 할 때 사용하는 라이브러리인 folium인 기초적인 문법을 활용하는 방법을 포스팅 해보겠습니다.

+ 여기를 클릭

Source: yoo-young.tistory.com

Date Published: 2/9/2021

View: 2525

[Python] 파이썬 지도 데이터 시각화

[Python] 파이썬 지도 데이터 시각화. Ssongs 2021. 11. 3. 10:04. 지도 위에 데이터를 시각화를 하기 위한 방법. 1. folium 패키지를 이용하는 방법.

+ 여기를 클릭

Source: ssongblog.tistory.com

Date Published: 4/7/2022

View: 6957

[Python]지도 데이터 시각화 – Folium 기초 실습하기

[Python]지도 데이터 시각화 – Folium 기초 실습하기. 우주먼지의하루 2020. 6. 17. 00:06. 320×100. 먼저 Folium은 Python data, leaflet.js 맵입니다.

+ 자세한 내용은 여기를 클릭하십시오

Source: rk1993.tistory.com

Date Published: 2/25/2021

View: 7179

[파이썬] Folium : 경복궁 위치 지도 상에 나타내기 (+ 마커)

[파이썬] Folium : 경복궁 위치 지도 상에 나타내기 (+ 마커). 알디노 2021. 3. 10. 15:54. Folium 라이브러리는 Open Street Map 이라는 오픈 지도를 통해 위치 정보 …

+ 여기에 보기

Source: www.dinolabs.ai

Date Published: 9/25/2021

View: 5949

파이썬으로 지도를 만드는 방법 – 블로그 – Quish

이것은 Python에서 데이터를 쉽게 조작하는 데 사용됩니다. 파이썬 패키지 잎 . 이것은 매우 쉽게 지도를 만드는 데 사용됩니다. LA 카운티 스타벅스의 위도/경도 스프레드 …

+ 여기에 표시

Source: ko.quish.tv

Date Published: 4/25/2021

View: 152

주제와 관련된 이미지 파이썬 지도

주제와 관련된 더 많은 사진을 참조하십시오 [Python 강의] 데이터 지도에 표시하기. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

[Python 강의] 데이터 지도에 표시하기
[Python 강의] 데이터 지도에 표시하기

주제에 대한 기사 평가 파이썬 지도

  • Author: Vagazine
  • Views: 조회수 7,413회
  • Likes: 좋아요 109개
  • Date Published: 2020. 4. 21.
  • Video Url link: https://www.youtube.com/watch?v=ay2VwNl_QMg

지도 시각화 도구 Folium 사용법을 파헤쳐보자!

지도위에 데이터를 interactive하게 표현해 주는 대표적인 파이썬 지도 시각화 라이브러리 folium 에 대해서 알아보고 그 사용법을 파헤쳐보도록 하겠습니다.

folium 개요

folium은 leaflet.js 기반으로 만들어진 Python 지도 시각화 라이브러리 입니다.

도큐먼트

folium을 사용하여 인터랙티브한 지도를 생성하고 마커를 추가하여 시각화하거나 원으로 범위를 표기하고 html 파일로 내보내기 등을 수행할 수 있습니다.

folium 설치

pip install folium 으로 라이브러리를 설치할 수 있습니다.

! pip install folium

모듈 import

import folium

기본 좌표 설정

location 에 위도, 경도 정보를 입력하여 입력한 위,경도 좌표를 기준으로 지도를 그릴 수 있습니다.

이때 zoom_start 정보를 지정하여 확대의 정도를 지정할 수 있습니다.

참고: zoom_start 의 범위는 최대 18 입니다.

# 위도 latitude = 37.394946 # 경도 longitude = 127.111104

m = folium . Map ( location = [ latitude , longitude ], zoom_start = 17 , width = 750 , height = 500 ) m

마커 추가

location : 마커를 추가할 위도/경도 좌표 를 입력 후

popup : 표기할 팝업 문구 지정 (마우스 클릭시 표기되는 문구)

tooltip : 표기할 툴팁 지정 (마우스 오버시 표기되는 문구)

마커를 생성 후 기존에 생성된 지도 m 에 추가합니다.

folium . Marker ([ latitude , longitude ], popup = “판교역” , tooltip = “판교역 입구” ). add_to ( m ) m

마커에 대한 스타일 변경도 가능합니다. 스타일 변경시 icon 파라미터에 folium.Icon(color=?, icon=?) 을 지정합니다.

folium . Marker ([ latitude , longitude ], popup = “판교역” , tooltip = “판교역 입구” , icon = folium . Icon ( ‘red’ , icon = ‘star’ ), ). add_to ( m ) m

popup 이나 tooltip 에 다음과 같이 html 코드 를 삽입하여 이미지를 표기하거나 심지어 YouTube 영상도 삽입할 수 있습니다.

folium . Marker ([ latitude , longitude ], popup = ‘‘ , tooltip = “판교역 입구” ). add_to ( m ) m

folium . CircleMarker ([ latitude , longitude ], color = ‘tomato’ , radius = 50 , tooltip = ‘판교역 상권’ ). add_to ( m ) m

import pandas as pd

df = pd . read_csv ( ‘소상공인시장진흥공단_상가(상권)정보_경기_202109.csv’ ) df . head ( 3 )

상가업소번호 상호명 지점명 상권업종대분류코드 상권업종대분류명 상권업종중분류코드 상권업종중분류명 상권업종소분류코드 상권업종소분류명 표준산업분류코드 … 구우편번호 신우편번호 동정보 층정보 호정보 전화번호 경도 위도 상권번호 데이터기준일자 0 20713599 눈높이러닝센타 NaN R 학문/교육 R13 학문교육기타 R13A01 학습지보급 P85503 … 423010.0 14221.0 NaN NaN 2 02-2066-9109 126.858147 37.478530 NaN 2016-01-26 1 20642964 유니베라 구성대리점 D 소매 D16 화장품소매 D16A01 화장품판매점 G47813 … 446525.0 16919.0 NaN 2 NaN 031-8005-7071 127.116575 37.294690 NaN 2021-10-22 2 24510829 엠아이케이21 NaN D 소매 D14 운동/경기용품소매 D14A01 운동/경기용품 G47631 … 463937.0 13622.0 901 NaN 90 070-8699-8912 127.123291 37.340903 NaN 2016-01-26 3 rows × 42 columns

pd . Series ( df . columns )

0 상가업소번호 1 상호명 2 지점명 3 상권업종대분류코드 4 상권업종대분류명 5 상권업종중분류코드 6 상권업종중분류명 7 상권업종소분류코드 8 상권업종소분류명 9 표준산업분류코드 10 표준산업분류명 11 시도코드 12 시도명 13 시군구코드 14 시군구명 15 행정동코드 16 행정동명 17 법정동코드 18 법정동명 19 PNU코드 20 대지구분코드 21 대지구분명 22 지번본번지 23 지번부번지 24 지번주소 25 도로명코드 26 도로명 27 건물본번지 28 건물부번지 29 건물관리번호 30 건물명 31 도로명주소 32 구우편번호 33 신우편번호 34 동정보 35 층정보 36 호정보 37 전화번호 38 경도 39 위도 40 상권번호 41 데이터기준일자 dtype: object

sub_df = df . loc [ df [ ‘행정동명’ ]. isin ([ ‘백현동’ , ‘정자동’ , ‘삼평동’ ])] sub_df . head ( 3 )

상가업소번호 상호명 지점명 상권업종대분류코드 상권업종대분류명 상권업종중분류코드 상권업종중분류명 상권업종소분류코드 상권업종소분류명 표준산업분류코드 … 구우편번호 신우편번호 동정보 층정보 호정보 전화번호 경도 위도 상권번호 데이터기준일자 35 24527550 코리아세븐분당 정자3호점 D 소매 D03 종합소매점 D03A01 편의점 G47122 … 463834.0 13612.0 NaN 1 NaN 031-718-9733 127.113508 37.362807 NaN 2016-01-27 102 28523933 처가방 NaN Q 음식 Q10 별식/퓨전요리 Q10A02 샤브샤브전문 I56111 … 463420.0 13529.0 NaN NaN NaN 031-5170-1908 127.112071 37.392785 NaN 2016-11-17 244 20786763 백현 NaN L 부동산 L01 부동산중개 L01A01 부동산중개 L68221 … 463887.0 13532.0 NaN 1 1 031-8016-8100 127.110756 37.389333 NaN 2017-10-02 3 rows × 42 columns

sub_df [[ ‘위도’ , ‘경도’ , ‘상호명’ ]]

위도 경도 상호명 35 37.362807 127.113508 코리아세븐분당 102 37.392785 127.112071 처가방 244 37.389333 127.110756 백현 284 37.401265 127.108639 야쿤커피앤토스트판교점 678 37.368770 127.112015 해동검도 … … … … 514805 37.397736 127.111414 에세이스튜디오 515501 37.362357 127.113513 아몽옷고치는전문집 515824 37.384859 127.111408 티랩 516332 37.392951 127.118687 우디크리빙 516457 37.395832 127.113503 써브웨이 3322 rows × 3 columns

from folium.plugins import MarkerCluster m = folium . Map ( location = [ latitude , longitude ], zoom_start = 15 ) coords = sub_df [[ ‘위도’ , ‘경도’ ]] marker_cluster = MarkerCluster (). add_to ( m ) for lat , long in zip ( coords [ ‘위도’ ], coords [ ‘경도’ ]): folium . Marker ([ lat , long ], icon = folium . Icon ( color = “green” )). add_to ( marker_cluster ) m

서울 지도에서 행정 구역별 표시

import requests import json # 서울 행정구역 json raw파일(githubcontent) r = requests . get ( ‘https://raw.githubusercontent.com/southkorea/seoul-maps/master/kostat/2013/json/seoul_municipalities_geo_simple.json’ ) c = r . content seoul_geo = json . loads ( c )

서울 지역의 구별 boundary 시각화

m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 11 , ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) m

tiles 옵션 변경을 통해 지도의 테마 변경

지도의 기본 테마(tiles)는 OpenStreetMap 으로 설정되어 있는데, 이를 변경하여 다른 지도 테마를 적용할 수 있다.

Stamen Toner 적용시

m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 11 , tiles = ‘Stamen Toner’ ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) m

cartodbpositron 적용시

m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 11 , tiles = ‘cartodbpositron’ ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) m

서울시 자치구별 상권정보 시각화

seoul 데이터프레임에 소상공인시장진흥공단에서 제공하는 서울시 상권정보 csv 파일을 로드합니다.

seoul = pd . read_csv ( ‘소상공인시장진흥공단_상가(상권)정보_서울_202109.csv’ ) # 필요한 컬럼 정보만 가져옵니다 seoul = seoul [[ ‘시군구명’ , ‘상권업종대분류명’ , ‘상권업종중분류명’ , ‘위도’ , ‘경도’ ]] seoul

시군구명 상권업종대분류명 상권업종중분류명 위도 경도 0 송파구 소매 의복의류 37.493054 127.147321 1 영등포구 소매 건강/미용식품 37.520613 126.907168 2 성동구 소매 취미/오락관련소매 37.566857 127.049018 3 동작구 음식 한식 37.487105 126.980952 4 종로구 음식 한식 37.572387 126.981794 … … … … … … 325875 마포구 부동산 부동산중개 37.557971 126.907290 325876 은평구 소매 시계/귀금속소매 37.604195 126.936049 325877 은평구 소매 애견/애완/동물 37.596790 126.905613 325878 광진구 음식 커피점/카페 37.556004 127.085023 325879 강북구 생활서비스 이/미용/건강 37.629348 127.017622 325880 rows × 5 columns

시각화 모듈을 import 하고 서울시의 업종별 개수를 시각화합니다.

import matplotlib.pyplot as plt import seaborn as sns # 한글 폰트 설정 plt . rcParams [ ‘font.family’ ] = ‘NanumGothic’ plt . figure ( figsize = ( 12 , 30 )) sns . countplot ( y = seoul [ ‘상권업종중분류명’ ], order = seoul [ ‘상권업종중분류명’ ]. value_counts (). index ) plt . yticks ( fontsize = 12 ) plt . title ( ‘서울시 업종별 개수’ ) plt . show ()

한식 업종이 가장 많은 개수를 차지합니다. 커피점/카페 업종이 가장 많은 업종일 줄 알았는데요. 한식, 이미용/건강, 종합소매업 다음 4위를 차지하였습니다.

그럼 커피점/카페 업종은 자치구별로 어느 곳에 가장 많이 분포해 있는지 시각화해 보겠습니다.

plt . figure ( figsize = ( 12 , 10 )) seoul . loc [ seoul [ ‘상권업종중분류명’ ] == ‘커피점/카페’ ]. groupby ( ‘시군구명’ )[ ‘상권업종대분류명’ ]. count () \ . sort_values (). plot ( kind = ‘barh’ , color = ‘royalblue’ ) plt . yticks ( fontsize = 12 ) plt . title ( ‘서울시 자치구별 커피점/카페 업종수’ ) plt . show ()

강남구가 가장 많은 수를 차지하고 강북구는 가장 적은 수를 차지하였습니다.

이제 이를 folium 위에 시각화를 해보겠습니다.

seoul_coffee = seoul . loc [ seoul [ ‘상권업종중분류명’ ] == ‘커피점/카페’ ] seoul_coffee

시군구명 상권업종대분류명 상권업종중분류명 위도 경도 29 종로구 음식 커피점/카페 37.583149 127.000171 109 도봉구 음식 커피점/카페 37.658728 127.034746 190 마포구 음식 커피점/카페 37.554599 126.929692 200 강서구 음식 커피점/카페 37.580941 126.813358 206 양천구 음식 커피점/카페 37.522055 126.842935 … … … … … … 325715 서대문구 음식 커피점/카페 37.557293 126.950705 325754 금천구 음식 커피점/카페 37.468602 126.902047 325788 마포구 음식 커피점/카페 37.540241 126.948240 325791 강서구 음식 커피점/카페 37.532109 126.839080 325878 광진구 음식 커피점/카페 37.556004 127.085023 19703 rows × 5 columns

m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 12 , tiles = ‘cartodbpositron’ ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) marker_cluster = MarkerCluster (). add_to ( m ) for lat , long in zip ( seoul_coffee [ ‘위도’ ], seoul_coffee [ ‘경도’ ]): folium . Marker ([ lat , long ], icon = folium . Icon ( color = “green” )). add_to ( marker_cluster ) m

seoul_group_data = seoul . loc [ seoul [ ‘상권업종중분류명’ ] == ‘커피점/카페’ ]. groupby ( ‘시군구명’ )[ ‘상권업종중분류명’ ]. count () seoul_group_data

시군구명 강남구 2253 강동구 763 강북구 330 강서구 1048 관악구 593 광진구 771 구로구 596 금천구 444 노원구 534 도봉구 373 동대문구 499 동작구 526 마포구 1427 서대문구 704 서초구 1277 성동구 640 성북구 668 송파구 1125 양천구 543 영등포구 859 용산구 730 은평구 575 종로구 1082 중구 895 중랑구 448 Name: 상권업종중분류명, dtype: int64

choropleth 를 사용하여 시각화를 하면 업종 별 개수에 따른 색상의 차이를 두어 시각화를 해줍니다.

m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 11 , tiles = ‘cartodbpositron’ ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) m . choropleth ( geo_data = seoul_geo , data = seoul_group_data , fill_color = ‘YlOrRd’ , # 색상 변경도 가능하다 fill_opacity = 0.5 , line_opacity = 0.2 , key_on = ‘properties.name’ , legend_name = “지역구별 커피 업종 수” ) m

bins 를 만들어 1/4, 2/4, 3/4분위수별로 구간을 나누어 시각화할 수 있습니다.

bins = list ( seoul_group_data . quantile ([ 0 , 0.25 , 0.5 , 0.75 , 1 ])) m = folium . Map ( location = [ 37.559819 , 126.963895 ], zoom_start = 11 , tiles = ‘cartodbpositron’ ) folium . GeoJson ( seoul_geo , name = ‘지역구’ ). add_to ( m ) m . choropleth ( geo_data = seoul_geo , data = seoul_group_data , fill_color = ‘YlOrRd’ , # 색상 변경도 가능하다 fill_opacity = 0.5 , line_opacity = 0.2 , key_on = ‘properties.name’ , legend_name = “지역구별 커피 업종 수” , bins = bins ) m

Html 파일로 저장

저장은 save() 함수로 쉽게 html 파일로 저장할 수 있습니다.

m . save ( ‘map.html’ )

참고 (References)

관련 글 더보기

– Matplotlib 컬러명(color name), 팔레트(palette) 이름

– Seaborn의 통계 차트 및 데이터 시각화 예제

– Matplotlib을 활용한 데이터 시각화 그래프 예제

– Matplotlib.pyplot 기본 튜토리얼, 스타일, 캔버스

– 2019년 KBO 관객수를 크롤링하여 matplotlib으로 시각화 해보겠습니다

파이썬 지도 시각화 패키지-folium(1) 시작하기( 패키지 설치하기, 지도 불러 오기, 지도 종류 확인, 파라미터 정보)

#파이썬,#folium,#지도 불러오기,#folium 설치하기, #folium map 지도 종류, #지도 시각화,#python map 불러오기, #python folium basemap,#folium map 파라미터

파이썬에서 지도 위에 점을 찍거나, 선을 그리거나, 원을 그리는 등 지도에 원하는 정보를 시각적으로 나타내는 지도 시각화 패키지로 제일 유명한 것이 folium입니다.

다른 패키지에 비해서 상대적으로 오래 되어서 안정적이고, map을 겹쳐서 그려줌으로 다양한 시각화가 가능합니다. 지도 시각화 결과과 html로 저장이 가능하다는 장점이 있습니다. 그리고, pandas 패키지와 함께 사용하면 쉽고 빠르게 지도 시각화가 가능해집니다.

다음 화면은 서울시 공공 자전거인 따릉이 대여소 위치를 folium으로 표시한 사례 입니다.

[Python] 시각화 사용법 – folium 을 통한 지도 시각화 및 마커(marker) 찍기

반응형

folium 란?

python에서 제공해주는 라이브러리로서 지도를 다루는 대표적인 라이브러리다.

설치법

!pip install folium

사용법

import folium as g

이것을 사용하기 위해서는 위도 경도를 알아야 한다. 네이버에서 검색을 하거나 구글맵을 사용하면 위도와 경도를 알 수 있다.

#Map이라는 함수에서 location으로 처음 화면이 나오는 부분을 설정해준다. # 이 [] 부분에서는 위도와 경도가 들어간다. # zoom_start 는 처음 지도를 봤을때 확대 정도이다. g_map = g.Map(location=[37.509671,127.055517],zoom_start=18) g_map

Map이라는 함수에서 location으로 처음 화면이 나오는 부분을 설정해준다.

# 지도에 마커 표시

# option marker = g.Marker([37.509671, 127.055517], # 마커를 찍는 과정이다. 해당 위치의 마커를 찍고 popup=’campus seven’, # 해당 마커의 이름을 넣어준다. icon = g.Icon(color=’blue’))# 해당 아이콘의 색깔을 지정해준다. marker.add_to(g_map) # 마지막으로 위에 만들었던 맵에다가 marker를 add 해준다. g_map # 그 후 g_map을 본다.

해당 명령어로 내가 만든 지도를 html 형식으로 저장 할 수 있다.

웹 형태로 저장 된것은 우리가 jupyter에서 보는 것과 같은 형태로 볼 수 있다.

원 형태로 나타내기

marker02 = g.CircleMarker([37.509671,127.055517], # CircleMarker를 통해 원형으로 보이게 한다. radius=100, # 범위 color=’skyblue’, # 선 색깔 popup=’campus seven’, # 원의 의름 fill_color = ‘skyblue’ # 채워질 원의 색깔 ) marker02.add_to(g_map) # 위에서 만들었던 map에 반영된다.

지도의 스타일 옵션

# 이 옵션을 통해 해당 지도의 스타일을 바꿀수 있다. tiles=” ”OpenStreetMap” ”Stamen Terrain”, “Stamen Toner”, “Stamen Watercolor” ”CartoDB positron”, “CartoDB dark_matter” ”Mapbox Bright”, “Mapbox Control Room” (Limited zoom) ”Cloudmade” (Must pass API key) ”Mapbox” (Must pass API key) 이렇게 다양한 스타일이 있다.

# Stamen Terrain

# Stamen Toner

# Stamen Terrain

예제)

이렇게 위도 경도에 대한 데이터가 있을 때

처음에 맵 위치를 잡는다.

그다음 마커위치를 잡는다. for문을 사용해서 해당하는 부분을 모두 마커를 찍게 하였다.

color를 바꿔서 이렇게도 가능하다.

예제)

해당 파일을 읽고

필요한 컬럼만 빼온다.

이 해당하는 조건을 맞추기 위해 조건을 걸어 해당 데이터만 가져온다.

이것 또는

이러한 형태로 하는 것도 가능하다.

처음에는 맵부터 띄운다.

그다음 마커를 찍는 형식으로 한다.

반응형

파이썬 -folium 지도시각화

글 개요

파이썬으로 지도를 시각화 할 때 사용하는 라이브러리인 folium인 기초적인 문법을 활용하는 방법을 포스팅 해보겠습니다.

글 본문

일단, folium을 설치해봅시다. 아나콘다 가상환경이면, 터미널에서 아래 코드를 입력해주셔도 되고, 주피터 노트북에서도셀 실행시켜도 괜찮습니다.

!pip install folium

지도를 주피터 노트북에 실행시켜보겠습니다.

import folium m = folium.Map( location = [37.544129, 127.054357], zoom_start = 11 ) m

# tlies = OpenStreetMap 디폴트값 m = folium.Map( location =[37.544129, 127.054357], zoom_start = 14, tiles = ‘Stamen Terrain’) m

결과

location 옵션에는 튜플 형식이나 리스트 형식으로 위도와 경도를 넣어주시면 됩니다. zoom_start 옵션은 확대를 얼마만큼 할것인지를 결정하는 옵션입니다 보통 최대 18 이후는 확대정도가 18이랑 비슷합니다.

tiles 옵션

tiles 옵션은 지도의 모양을 설정하는 방법입니다. 예를들어 아래코드를 보시면 더욱 이해가 빨리 될거같습니다.

import folium # tlies = OpenStreetMap 디폴트값 m = folium.Map( location =[37.544129, 127.054357], zoom_start = 14, tiles = ‘Stamen Terrain’) # 0 ~ 18 허용되는 범위 조금씩 확대됨 m

결과 1

이렇게 지도 모양을 바꿀 수 있습니다. 지도를 더욱 다양하게 바꿀 수 있으니, 구글에서 옵션을 찾아서 원하는 지도로 바꿔보세요.

folium Marker 지도에 마커 표시하기

이제 지도 시각화를 했으니 원하는 곳에 마커를 표시하고 싶을 때가 있습니다. folium은 그 기능을 Marker라는 함수를 통해 제공합니다.

import folium # 기본지도 m = folium.Map( location = [37.544129, 127.054357], zoom_start = 14 ) 원하는 장소의 위도 경도를 가져와 기본지도에 마커 표시하기 folium.Marker( location = [37.544129, 127.054357] ).add_to(m)

결과 2

이렇게 원하는 장소의 위도와 경도를 location 욥션에 리스트형태로 데이터를 넣러주면 지도에 마커로 표시됩니다. 그렇다면 이제 해당 마커가 어떤 마커인지 알 필요가 있지 않을까요? 그럴때 사용하는 옵션이 두개 정도 있있습니다.

1. popup

2. tooltip

두 개 옵션을 사용하면, 해당 마커를 어떤 마커인지 설명할 수 있습니다.

eimport folium m = folium.Map( location =[37.544129, 127.054357], zoom_start = 14, tiles = ‘OpenStreetMap’) folium.Marker( location = [37.54713854802594, 127.04742381383305], popup = ‘Subway’, tooltip=’뚝섬역’ ).add_to(m)

결과

popup 이라는 옵션과 tooltip의 옵션의 차이는 popup옵션은 마커를 클릭했을 때 설명이 나오고 tooltip옵션은 마우스를 마커에 올려놓고 있으면 뚝섬역이라고 표시해줍니다. 또한, popup옵션과 tooltip옵션은 html문법이 적용할 수 있습니다.

마커 클릭했을 때 사이트 접속하기

마커를 클릭했을 때 특정사이트로 넘기는 방법이 있습니다.

import folium m = folium.Map( location =[37.544129, 127.054357], zoom_start = 14, tiles = ‘OpenStreetMap’) folium.Marker(location = [37.40222933783297, 127.10868244211787], popup = ‘카카오 판교오피스‘, tooltip = ‘kakao‘).add_to(m) m

popup 옵션과 tooltip옵션은 html문법이 적용이 된다고 했습니다. html문법을 활용해 마커를 클릭하였을 때 마커에 해당하는 홈페이지로 넘어갈 수 있게 만들 수 있습니다.

결과

tooltip옵션이 마우스를 마커에 올려놓기만 해도 카카오라고 뜨고 마커를 클릭했을 때 사이트 접속이 됩니다.

Marker custom 해보기

Marker는 기본적으로 위 이미지에 있는것 처럼 파란색 marker로 표시됩니다. 하지만, Marker 함수내에는 marker을 커스텀을 할 수 있습니다.

import folium m = folium.Map( location = [37.544129, 127.054357], zoom_start = 11 ) folium.Marker( location = [37.544129, 127.054357], icon = folium.Icon( color = ‘black’, icon = ‘info-sign’ ).add_to(m)

결과

icon색을 검은색으로 지정하고 모양은 info-sign모양을 정했습니다. folium.Icon함수안에 있는 icon옵션을 커스텀을 할 수 있습니다. 이 모양을 커스텀 하는걸 보여드리겠습니다.

import folium m = folium.Map( location = [37.544129, 127.054357], zoom_start = 11 ) folium.Marker( location = [37.544129, 127.054357], icon = folium.Icon( color = ‘black’, icon = ‘amazon’, prefix=’fa’ ).add_to(m)

icon 모양을 amazon마크로 커스텀을 할 수 있습니다. 커스텀을 할 수 있는 이유는 prefix라는 옵션 때문에 가능합니다. prefix 옵션은 두가지가 있습니다. fa, glyphicon가 존재합니다.

prefix = ‘fa’ 옵션을 선택할 때 icon 커스텀하는 사이트 아래 사이트에서 icon를 선택해서 icon에 넣어주시면 됩니다.

prefix = ‘glyphicon’ 옵션을 선택할 때 icon 선택하는 사이트

하지만, 두 개의 사이트에 있는 모든 icon이 다 되는게 아니더라구요. 되는게 있고 안되는게 존재합니다. ㅜ ㅜ

실습

수원역에 있는 에이케이플라자를 지도에 표시하고 icon를 백화점으로 표시하고 마우스를 올리면 AK플라자글씨를 나타나게 한다음 클릭했을 때 AK플라자 사이트로 연결하는 실습을 해보겠습니다. 일단 준비해야 할것은 AK플라자 수원점 위도 경도가 필요합니다. 위도 경도를 쉽게 얻을 수 있는 방법은 구글지도를 활용하면 쉽게 얻을 수 있습니다. 구글지도에서 AK플라자를 검색하고 지도를 확대해 마우스 우클릭을 하면 위도 경도를 가져올 수 있습니다.

import folium m = folium.Map( location = [37.26788961962039, 127.00454839493325], zoom_start = 14 ) folium.Marker( location = [37.265348793039045, 127.00047789618888], icon = folium.Icon( color = ‘black’, icon = ‘building’, prefix = ‘fa’ ), popup = “akplaza“, tooltip = ‘AK플라자 수원역점’ ).add_to(m)

Ssong’s DataLab :: [Python] 파이썬 지도 데이터 시각화

[python][folium] geojson을 이용한 지도그리기 (1)

원하는 형태의 시군을 이용하여 229개의 시군 지도를 만들어 보려고한다. python을 이용해서 folium 작업을 하기 이전에 geojson 파일을 다운받는 방법부터 설명하려고 한다. www.gisdeveloper.co.kr/?p=2332 대

mjs1995.tistory.com

[파이썬] Folium : 경복궁 위치 지도 상에 나타내기 (+ 마커)

Folium 라이브러리는 Open Street Map 이라는 오픈 지도를 통해 위치 정보를 시각화할 수 있는 라이브러리인데요, 이를 이용하면 주피터 노트북에서 원하는 장소를 지도 상에 나타낼 수 있답니다.

– Folium으로 경복궁 위치 지도 상에 나타내기

Folium 라이브러리는 먼저 설치를 해야 하는데요, cmd 창에 pip install folium 명령어를 입력하면 설치가 됩니다.

설치가 완료되었다면 주피터 노트북에서 다음과 같이 코드를 입력하면 됩니다.

import folium location = “경복궁” latitude = 37.5759 longitude = 126.9768 place = folium.Map(location=[latitude, longitude], zoom_start=16) place

경복궁 위치를 나타내려면 경복궁의 위도와 경도를 알아야 하는데요, 이는 구글지도를 통해서 알 수 있습니다.

경복궁의 위도와 경도는 각각 37.5759, 126.9768로, 각각 latitude, longitude 변수에 저장해주었습니다.

그리고나서 이제 folium.Map() 함수에 위도, 경도 값을 location = [위도, 경도] 에 인자로 넣어줍니다.

한편, zoom_start = 16 는 지도가 화면에 출력될 때 얼마큼 확대되어 있는지 설정하는 값으로, 출력된 지도를 보면서 값을 적절하게 설정해주면 됩니다.

이제 설정된 값을 place 변수에 넣어주고 이를 출력하면 다음과 같이 지도가 나타납니다.

출력된 지도를 보면, 경복궁의 위치를 포함한 지도를 보여주긴 하지만 정확히 어느 곳이 경복궁인지 알 수 없습니다.

따라서 이에 대해서 Folium 라이브러리는 마커를 표시해주는 함수를 제공해주는데요, 아래 코드를 보도록 하겠습니다.

folium.Marker(location=[latitude,longitude], popup= location, icon=folium.Icon(color=’red’)).add_to(place) #마커를 설정하기 place

위 코드를 보면 folium.Marker() 함수가 사용되었는데요, 이 함수가 바로 마커를 설정하는 함수입니다.

해당 함수안에 마찬가지로 위도, 경도 값을 넣어주고, icon의 색상 등을 설정하고 마지막에 .add_to(place) 를 입력한 뒤 다시 place를 출력하면 아래와 같이 마커가 표시된 지도가 출력됩니다.

위 지도를 보면 경복궁 위치에 마커가 잘 표시되는 것을 확인할 수 있답니다.

파이썬으로 지도를 만드는 방법

지리 공간 데이터로 작업할 때 종종 이 데이터를 가능한 가장 자연스러운 방식으로 시각화해야 했습니다. 지도. Python을 사용하여 데이터의 대화형 맵을 빠르고 쉽게 만들 수 있다면 좋지 않을까요? 이 튜토리얼에서는 로스앤젤레스 카운티의 모든 스타벅스 위치에 대한 데이터 세트를 사용할 것입니다. 이 소개 게시물이 끝나면 다음을 만들 수 있습니다.

기본 포인트 맵 LA 카운티 내 모든 스타벅스 매장 중

LA 카운티 내 모든 스타벅스 매장 중 에게 등치 지도 각 스타벅스에 들어 있는 스타벅스 수에 따라 LA 카운티의 우편번호 음영

각 스타벅스에 들어 있는 스타벅스 수에 따라 LA 카운티의 우편번호 음영 에게 히트맵 LA 카운티 스타벅스의 핫스팟을 강조한

해보자!

필요할 것이예요 …

파이썬 패키지 팬더. 이것은 Python에서 데이터를 쉽게 조작하는 데 사용됩니다.

이것은 Python에서 데이터를 쉽게 조작하는 데 사용됩니다. 파이썬 패키지 잎 . 이것은 매우 쉽게 지도를 만드는 데 사용됩니다.

. 이것은 매우 쉽게 지도를 만드는 데 사용됩니다. LA 카운티 스타벅스의 위도/경도 스프레드시트

LA 카운티의 GeoJSON(기본적으로 복잡한 모양을 설명하는 json)과 LA 카운티의 모든 우편 번호에 대한 GeoJSON

데이터에 익숙해지기 위해 다음은 처음 몇 행의 스냅샷입니다.

이 분석을 위해 위도, 경도 및 우편 번호 필드만 걱정하면 됩니다.

다음은 필요한 Python 가져오기, Starbucks 데이터 로드 및 LA 카운티 GeoJSON 로드입니다.

수입 잎

pandas를 pd로 가져오기

json 가져오기

folium 가져오기 플러그인에서

df = pd.read\_csv(‘starbucksInLACounty.csv’) with open(‘laMap.geojson’) as f: laArea = json.load(f)

기본 포인트 맵

데이터 프레임의 위도/경도 쌍에서 LA 카운티의 모든 Starbucks에 대한 기본 포인트 맵을 만드는 것은 매우 간단합니다.

#LA 카운티 주변 지도 초기화

laMap = folium.Map(location=[34.0522,-118.2437], Tiles=’시술 토너’, zoom_start=9)

#add the shape of LA County to the map folium.GeoJson(laArea).add\_to(laMap) #for each row in the Starbucks dataset, plot the corresponding latitude and longitude on the map for i,row in df.iterrows(): folium.CircleMarker((row.latitude,row.longitude), radius=3, weight=2, , fill\_, fill\_opacity=.5).add\_to(laMap) #save the map as an html laMap.save(‘laPointMap.html’)

개업 laPointMap.html , 우리는 다음 지도를 봅니다:

LA 카운티의 모든 스타벅스는 LA 카운티 지역 내의 작은 빨간 점으로 명확하게 볼 수 있습니다. 물론 점의 색상과 모양을 사용자 정의할 수 있습니다.

등치 지도

실제로 Python에서 지도를 사용하기 전에는 등치 지도가 무엇인지 몰랐지만 집계된 지리 공간 데이터를 시각화하는 데 매우 유용하다는 것이 밝혀졌습니다.

우리의 등치 지도는 다음 질문에 답할 것입니다. LA 카운티에서 스타벅스가 가장 많은 우편번호는? . 등치 지도는 기본적으로 다른 변수의 값, 우리의 경우 스타벅스 매장 수를 기반으로 각 우편 번호의 색상을 지정합니다.

먼저 생성에 필요한 기본 코드를 살펴보겠습니다.

#스타벅스 데이터 프레임을 우편번호로 그룹화하고 각 우편번호의 매장 수를 계산합니다.

numStoresSeries = df.groupby(‘zip’).count().id

#이 새 데이터를 저장하기 위해 빈 데이터 프레임을 초기화합니다.

numStoresByZip = pd.DataFrame()

# ‘zipcode’ 열과 ‘numStores’ 열로 새 데이터 프레임 채우기

numStoresByZip[‘zipcode’] = [numStoresSeries.index의 i에 대한 str(i)]

numStoresByZip [‘numStores’] = numStoresSeries.values

#initialize the LA County map laMap = folium.Map(location=[34.0522,-118.2437], tiles=’Stamen Toner’, zoom\_start=9) #draw the choropleth map. These are the key components: #–geo\_path: the geojson which you want to draw on the map [in our case it is the zipcodes in LA County] #–data: the pandas dataframe which contains the zipcode information # AND the values of the variable you want to plot on the choropleth #–columns: the columns from the dataframe that you want to use #[this should include a geospatial column [zipcode] and a variable [numStores] #–key\_on: the common key between one of your columns and an attribute in the geojson. #This is how python knows which dataframe row matches up to which zipcode in the geojson laMap.choropleth(geo\_path=’laZips.geojson’, data=numStoresByZip, columns=[‘zipcode’, ‘numStores’], \ key\_on=’feature.properties.zipcode’, fill\_, fill\_opacity=1) laMap.save(‘laChoropleth.html’)

개인적으로 등치에 대한 모든 구성 요소를 제자리에 배치하는 방법을 이해하는 것이 더 어렵다는 것을 알았기 때문에 작동 방식을 확인하기 위해 별도의 시각적 개체를 살펴보겠습니다.

choropleth는 우편 번호에 어떤 색상을 입력해야 하는지 알아야 합니다. 90001, 예를 들어. 그것은 참조하는 pandas 데이터 프레임을 확인합니다. 데이터 필드, 검색 key_on 우편 번호 열에 나열된 다른 열을 찾습니다. 기둥 이다 numStores . 그런 다음 해당 색상을 채워야 함을 알고 있습니다. 3개 점포 우편번호로 90001 .

그런 다음 다음에서 참조하는 GeoJSON을 찾습니다. geo_path 필드 및 우편 번호 찾기 90001 및 관련 모양 정보 , 지도에서 해당 우편번호에 대해 그릴 모양을 알려줍니다. 이 링크를 통해 필요한 모든 정보가 있습니다. 의 결과 등치법을 살펴보겠습니다. laChoropleth.html !

참조용으로 상단에 멋진 색상 막대가 함께 제공됩니다.

히트맵

위의 등치 맵에서 LA 카운티 남부 지역에는 일반적으로 더 많은 스타벅스 매장이 있는 것으로 보이지만 좀 더 구체적으로 알아볼 수 있습니까? 작은 주변에 스타벅스 매장이 많이 있는 곳이 어디인지 알아볼까요? 기본적으로 LA 카운티의 스타벅스 핫스팟을 강조 표시하는 히트맵을 만들어 보겠습니다.

#LA 카운티 지도 초기화

laMap = folium.Map(location=[34.0522,-118.2437], Tiles=’시술 토너’, zoom_start=9)

#add the shape of LA County to the map folium.GeoJson(laArea).add\_to(laMap) #for each row in the Starbucks dataset, plot the corresponding latitude and longitude on the map for i,row in df.iterrows(): folium.CircleMarker((row.latitude,row.longitude), radius=3, weight=2, , fill\_, fill\_opacity=.5).add\_to(laMap) #add the heatmap. The core parameters are: #–data: a list of points of the form (latitude, longitude) indicating locations of Starbucks stores #–radius: how big each circle will be around each Starbucks store #–blur: the degree to which the circles blend together in the heatmap laMap.add\_children(plugins.HeatMap(data=df[[‘latitude’, ‘longitude’]].as\_matrix(), radius=25, blur=10)) #save the map as an html laMap.save(‘laHeatmap.html’)

시행착오가 필요한 히트맵의 주요 매개변수는 다음과 같습니다. 반지름 각 스타벅스 매장 주변의 원이 얼마나 큰지 제어하고 흐림 원이 함께 혼합되는 정도를 제어합니다.

반경이 클수록 스타벅스가 더 넓은 영역에 영향을 미치고 흐림 효과가 클수록 서로 더 멀리 떨어져 있는 두 개의 스타벅스가 여전히 핫스팟에 기여할 수 있음을 의미합니다. 매개 변수는 당신에게 달려 있습니다!

히트맵의 사진을 보겠습니다. 라히트맵.html.

흠 … 멋지지만 그런 것 같습니다. 모든 것 빨간색입니다. 확대하면 히트맵이 더 유용할 수 있습니다. 조금 확대하여 더 구체적인 핫스팟을 식별할 수 있는지 보겠습니다.

멋진! 위의 지도에서 우리는 지도에 일부 핫스팟과 일부 핫스팟이 아닌(notspot?)이 있음을 분명히 알 수 있습니다. 그 중 눈에 띄는 것은 다운타운 로스앤젤레스 (당연히).

그리고 그것이 그것에 관한 것입니다! 유일한 후회는 이 지도의 실제 대화형 버전을 Medium 게시물에 포함하는 방법을 아직 찾지 못해 스크린샷만 보여줄 수 있다는 것입니다. NS 강력하게 격려하다 이 게시물을 통해 작은 코드를 실행하여 대화형 지도를 직접 사용해보세요. 완전히 다른 경험입니다.

읽어 주셔서 감사합니다!

에 원래 게시됨 https://towardsdatascience.com

#python #google-maps #기계 학습 #데이터 과학

키워드에 대한 정보 파이썬 지도

다음은 Bing에서 파이썬 지도 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 [Python 강의] 데이터 지도에 표시하기

  • #실무자
  • #프로그래밍
  • #딥러닝
  • #파이썬
  • #데이터분석
  • #유용한팁
  • #노하우
  • #공유
  • 데이터분석
  • pandas
  • 판다스
  • 개발
[Python #강의] #데이터 #지도에 #표시하기


YouTube에서 파이썬 지도 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 [Python 강의] 데이터 지도에 표시하기 | 파이썬 지도, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment