[PYTHON] Ich habe versucht, Folium zu verwenden

Einführung

Kürzlich habe ich versucht, Folium zu verwenden, eine Bibliothek, die Daten auf einer Karte anzeigt. Deshalb habe ich sie während des Studiums in einem Artikel zusammengefasst.

Was ist Folium?

Folium ist eine Python-Bibliothek, die Daten mit einer Karte von Leaflet.js visualisiert.

Sie können sowohl die Manipulation von Python-Daten als auch die Zuordnung von Broschüren nutzen.

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

Installation

Sie können es mit pip install installieren.

Folium-Installation


$ pip install folium

Lassen Sie uns die Karte anzeigen!

Verwenden Sie zuerst jupyter, um eine Karte von Japan anzuzeigen, die auf der Tokyo Station zentriert ist ([35.681167, 139.767052]). Wenn Sie Längen- und Breitengrad in "Ort" eingeben, können Sie eine Karte anzeigen, die auf dieser Position zentriert ist.

Zeichnen Sie eine Karte von Japan in der Mitte der Tokyo Station


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

Die Karte konnte mit nur 3 Zeilen angezeigt werden.

Als nächstes ordnen wir die Standortinformationen des Kaufhauses der erstellten Karte von Japan zu. Ich habe die Standortinformationen des Kaufhauses auf HP durchsucht und als CSV-Datei gespeichert.

Die CSV-Datei wird in diesem Format gespeichert. (department_info.csv)

store_name contry area prefecture city address latitude longitude depart
0 Nihonbashi Mitsukoshi Hauptgeschäft Japan Kanto Tokio Chuo-ku 1 Nihonbashi Muromachi, Chuo-ku, Tokio-4-1 35.685633 139.773430 Mitsukoshi
1 Ginza Mitsukoshi Japan Kanto Tokio Chuo-ku 4 Ginza, Chuo-ku, Tokio-6-16 35.671370 139.765738 Mitsukoshi
・ ・ ・
88 ShinQs Beauty Palette Machida Japan Kanto Tokio Machida City 6 Haramachida, Machida-shi, Tokio-4-1 Machida Tokyu Zwillinge WEST 3F 35.542690 139.446409 Tokyu Kaufhaus
89 Kaufhaus Nagano Tokyu Japan Chubu Präfektur Nagano Nagano Stadt 1 Minami Chitose, Stadt Nagano, Präfektur Nagano-1-1 36.645052 138.188676 Tokyu Kaufhaus

Fügen Sie der zuvor angezeigten Karte eine Kaufhausmarkierung hinzu


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', 'Tokyu Kaufhaus':'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

Farben, die für xxx1 verwendet werden können

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

Marker, die für xxx2 verwendet werden können https://glyphsearch.com/?library=font-awesome

Als nächstes zeigen wir für jedes angezeigte Kaufhaus einen Kreis mit einem Radius von 20 km an.

20 km vom Kaufhaus entfernt wird in Yen angezeigt


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

Ich habe die zuletzt erstellte Karte im HTML-Format gespeichert.

Speichern Sie die erstellte Karte


map_.save('department_location.html')

abschließend

Ich konnte mir eine schöne Karte leichter vorstellen als erwartet.

Recommended Posts

Ich habe versucht, Folium zu verwenden
Ich habe versucht, Folium zu verwenden
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, anytree zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, doctest zu verwenden
Ich habe versucht, jinja2 zu verwenden
Ich habe versucht, das Zeitfenster zu verwenden
[Ich habe versucht, Pythonista 3 zu verwenden] Einführung
Ich habe versucht, easydict (Memo) zu verwenden.
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
Ich habe versucht, BigQuery ML zu verwenden
Ich habe versucht, Amazon Glacier zu verwenden
Ich habe versucht, Git Inspector zu verwenden
Ich habe versucht, AWS Chalice zu verwenden
Ich habe versucht, Slack Emojinator zu verwenden
Ich habe versucht, Rotrics Dex Arm # 2 zu verwenden
Ich habe versucht, Thonny (Python / IDE) zu verwenden.
Ich habe versucht, mit dem Server-Client über tmux zu kommunizieren
Ich habe versucht, mit PyBrain verstärkt zu lernen
Ich habe versucht, mit Theano tief zu lernen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
[Kaggle] Ich habe versucht, mit unausgeglichenem Lernen zu unterabtasten
Ich habe versucht, mit OpenPose eine Schildkrötenwelle zu schießen
Ich habe versucht, die checkio-API zu verwenden
Ich habe versucht, asynchrone Verarbeitung mit Asyncio
Ich habe versucht zu kratzen
Ich habe PyQ ausprobiert
Ich habe AutoKeras ausprobiert
Ich habe versucht, Django-Slack
Ich habe es mit Django versucht
Ich habe es mit Spleeter versucht
Ich habe es mit cgo versucht
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, ○ ✕ mit TensorFlow zu spielen
Ich habe versucht, Selen mit Headless-Chrom zu verwenden
Ich habe versucht, mit einer Schildkröte eine Linie zu ziehen
[Kaggle] Ich habe versucht, Ensemble mit LightGBM zu lernen
Ich habe versucht, PyEZ und JSNAPy zu verwenden. Teil 2: Ich habe versucht, PyEZ zu verwenden
Ich habe versucht, die Bayes'sche Optimierung von Python zu verwenden
Ich habe versucht, Text mit TensorFlow zu klassifizieren