[PYTHON] J'ai essayé d'utiliser du folium

introduction

Récemment, j'ai essayé d'utiliser folium, une bibliothèque qui affiche des données sur une carte, alors je l'ai résumé dans un article tout en étudiant.

Qu'est-ce que le folium

Folium est une bibliothèque python qui visualise les données avec une carte de Leaflet.js.

Vous pouvez tirer parti à la fois de la manipulation des données Python et du mappage de dépliants.

Github:https://github.com/python-visualization/folium Documentation:https://python-visualization.github.io/folium/

Installation

Vous pouvez l'installer avec pip install.

installation de folium


$ pip install folium

Montrons la carte!

Tout d'abord, utilisez jupyter pour afficher une carte du Japon centrée sur la gare de Tokyo ([35.681167, 139.767052]). Si vous entrez la latitude et la longitude dans location, vous pouvez afficher une carte centrée sur cette position.

Tracez une carte du Japon centrée sur la gare de Tokyo


import folium
map_ = folium.Map(location=[35.681167, 139.767052], zoom_start=7)
map_
スクリーンショット 2019-12-03 14.31.51.png

La carte pourrait être affichée avec seulement 3 lignes.

Ensuite, mappons les informations de localisation du grand magasin à la carte créée du Japon. J'ai recherché les informations de localisation du grand magasin sur HP et je les ai enregistrées sous forme de fichier csv.

Le fichier csv est enregistré dans ce format. (department_info.csv)

store_name contry area prefecture city address latitude longitude depart
0 Magasin principal Nihonbashi Mitsukoshi Japon Kanto Tokyo Chuo-ku 1 Nihonbashi Muromachi, Chuo-ku, Tokyo-4-1 35.685633 139.773430 Mitsukoshi
1 Ginza Mitsukoshi Japon Kanto Tokyo Chuo-ku 4 Ginza, Chuo-ku, Tokyo-6-16 35.671370 139.765738 Mitsukoshi
・ ・ ・
88 Palette de beauté ShinQs Machida Japon Kanto Tokyo Ville de Machida 6 Haramachida, Machida-shi, Tokyo-4-1 jumelles Machida Tokyu OUEST 3F 35.542690 139.446409 Grand magasin Tokyu
89 Grand magasin Nagano Tokyu Japon Chubu Préfecture de Nagano Ville de Nagano 1 Minami Chitose, Ville de Nagano, Préfecture de Nagano-1-1 36.645052 138.188676 Grand magasin Tokyu

Ajouter un marqueur de grand magasin à la carte affichée précédemment


import pandas as pd
data = pd.read_csv('department_info.csv')
color_list = {'Mitsukoshi':'red', 'Daimaru':'blue', 'Seibu Sogo':'green', 
              'Takashimaya':'purple', 'Hankyu Hanshin':'orange', 'Grand magasin Tokyu':'darkred'}
for k, v in data.iterrows():
    folium.Marker([v.latitude, v.longitude], popup=v.store_name, icon=folium.Icon(color=color_list[v.depart])).add_to(map_)    

map_
スクリーンショット 2019-12-03 15.13.48.png

Couleurs utilisables pour xxx1

[‘red’, ‘blue’, ‘green’, ‘purple’, ‘orange’, ‘darkred’,
’lightred’, ‘beige’, ‘darkblue’, ‘darkgreen’, ‘cadetblue’, 
‘darkpurple’, ‘white’, ‘pink’, ‘lightblue’, ‘lightgreen’, 
‘gray’, ‘black’, ‘lightgray’]

Marqueurs pouvant être utilisés pour xxx2 https://glyphsearch.com/?library=font-awesome

Ensuite, affichons un cercle d'un rayon de 20 km pour chaque grand magasin affiché.

La zone de 20 km du grand magasin est affichée en yens


for k, v in data.iterrows():
  folium.Circle([v.latitude, v.longitude], radius=20 * 1000, tooltip='20km', popup=v.store_name
                              , color=color_list[v.depart], fill_color=None).add_to(map_)

map_
スクリーンショット 2019-12-03 16.34.28.png

J'ai enregistré la dernière carte créée au format html.

Enregistrer la carte créée


map_.save('department_location.html')

en conclusion

J'ai pu visualiser une belle carte plus facilement que prévu.

Recommended Posts

J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser du folium
J'ai essayé d'utiliser paramétré
J'ai essayé d'utiliser argparse
J'ai essayé d'utiliser la mimesis
J'ai essayé d'utiliser anytree
J'ai essayé d'utiliser aiomysql
J'ai essayé d'utiliser Summpy
J'ai essayé d'utiliser coturn
J'ai essayé d'utiliser Pipenv
J'ai essayé d'utiliser matplotlib
J'ai essayé d'utiliser "Anvil".
J'ai essayé d'utiliser Hubot
J'ai essayé d'utiliser ESPCN
J'ai essayé d'utiliser openpyxl
J'ai essayé d'utiliser Ipython
J'ai essayé d'utiliser PyCaret
J'ai essayé d'utiliser cron
J'ai essayé d'utiliser face_recognition
J'ai essayé d'utiliser Jupyter
J'ai essayé d'utiliser doctest
J'ai essayé d'utiliser jinja2
J'ai essayé d'utiliser la fenêtre de temps
[J'ai essayé d'utiliser Pythonista 3] Introduction
J'ai essayé d'utiliser easydict (mémo).
J'ai essayé la reconnaissance faciale avec Face ++
J'ai essayé d'utiliser BigQuery ML
J'ai essayé d'utiliser Amazon Glacier
J'ai essayé d'utiliser git inspector
J'ai essayé d'utiliser AWS Chalice
J'ai essayé d'utiliser l'émojinateur Slack
J'ai essayé d'utiliser Rotrics Dex Arm # 2
J'ai essayé d'utiliser Thonny (Python / IDE)
J'ai essayé de communiquer avec le client serveur en utilisant tmux
J'ai essayé l'apprentissage par renforcement avec PyBrain
J'ai essayé l'apprentissage en profondeur avec Theano
J'ai essayé d'utiliser le notebook jupyter d'une manière ou d'une autre
[Kaggle] J'ai essayé le sous-échantillonnage en utilisant un apprentissage déséquilibré
J'ai essayé de photographier une vague de tortue en utilisant OpenPose
J'ai essayé d'utiliser l'API checkio
J'ai essayé le traitement asynchrone en utilisant asyncio
J'ai essayé de gratter
J'ai essayé PyQ
J'ai essayé AutoKeras
J'ai essayé django-slack
J'ai essayé Django
J'ai essayé spleeter
J'ai essayé cgo
J'ai essayé d'utiliser Amazon SQS avec django-celery
J'ai essayé d'utiliser Azure Speech to Text.
J'ai essayé de jouer au jeu ○ ✕ en utilisant TensorFlow
J'ai essayé d'utiliser du sélénium avec du chrome sans tête
J'ai essayé de dessiner une ligne en utilisant une tortue
[Kaggle] J'ai essayé l'apprentissage d'ensemble avec LightGBM
J'ai essayé d'utiliser PyEZ et JSNAPy. Partie 2: J'ai essayé d'utiliser PyEZ
J'ai essayé d'utiliser l'optimisation bayésienne de Python
J'ai essayé de classer le texte en utilisant TensorFlow