Pydeck, visualisation de données Python. Couche de colonnes sur les cartes Carto.
J'explorerai les capacités de visualisation de données géographiques de deck.gl avec la bibliothèque Python et pandas. Deck.gl est un framework de visualisation alimenté par WebGL pour les ensembles de données à grande échelle, et pydeck est un rendu spatial à grande échelle pour Python (alimenté par deck.gl).
Pour ce projet, j'utilise Jupyter Notebook - l'application Web originale pour créer et partager des documents informatiques. Il offre une expérience simple, rationalisée et centrée sur les documents.
La bibliothèque Python clé pour ce projet est pydeck. Par défaut, pydeck 0.6 fournit des tuiles de fond de carte via Carto. Vous pouvez éventuellement utiliser la clé API Mapbox en vous inscrivant à Mapbox. Mais, la carte Carto suffit pour ce projet.
Importons pydeck via pip :
pip install pydeck
- Nous commençons par importer les bibliothèques Python essentielles pour nos opérations : pandas, pydeck, os et éventuellement matplotlib.pyplot (je développerai peut-être ce post à l'avenir)
import pandas as pd
import pydeck as pdk
from pydeck.types import String
import matplotlib.pyplot as plt
import os
os.listdir() ## checking the current file composition of the folder
df = pd.read_excel('stores.xlsx') ## reading .xlsx file to Pandas DataFrame
df.set_index('Location Name') ## setting indexing to store's name
df.columns
# output
# Index(['Location Name', 'Address line 1', 'Address line 2', 'Address line 3',
# 'City Name', 'Latitude', 'Longitude', 'Lat', 'Long', 'Postal Code',
# 'Results'],
# dtype='object')
df2 = df[['Location Name', 'City Name', 'Latitude', 'Longitude', 'Lat', 'Long', 'Postal Code', 'Results']]
df2
df2["Long"] = df2["Long"].astype(float)
df2["Lat"] = df2["Lat"].astype(float)
df2
layer = pdk.Layer(
'ColumnLayer',
df2,
get_position=['Long', 'Lat'],
get_elevation=["Results"],
auto_highlight=True,
elevation_scale=5,
pickable=True,
extruded=True,
get_radius=100,
get_fill_color=["Results * 10", "Results", "Results * 40", 220],
coverage=1
)
# Set the viewport location
view_state = pdk.ViewState(
longitude=25.336900,
latitude=54.734235,
zoom=2,
min_zoom=5,
max_zoom=15,
pitch=40.5,
bearing=-27.36)
r = pdk.Deck(layers=[layer], initial_view_state=view_state)
r.to_html('stores.html')
![Qu'est-ce qu'une liste liée, de toute façon? [Partie 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































