Карта Choropleth Plotly не отображается правильно - PullRequest
0 голосов
/ 12 апреля 2020

Прежде всего, я хотел бы начать с того, что я задаю этот вопрос, поскольку я не верю, что он связан с одноименным вопросом: сюжетно изображает, что не выводит данные , как я полагаю это как-то связано с пользовательскими границами GEO JSON и / или с тем, как я получаю доступ к данным.

Я использую таблицу crime.csv из https://www.kaggle.com/ankkur13/boston-crime-data, и я используя файл GEO JSON из Boston Analytics (взято из скрипта). В настоящее время мой код выполняется без ошибок, но он не загружает данные на график.

import pandas as pd
import plotly.graph_objs as go
from urllib.request import urlopen
import json

# Read Dataset
# Located at: https://www.kaggle.com/ankkur13/boston-crime-data
df = pd.read_csv("crime.csv")

with urlopen('http://bostonopendata-boston.opendata.arcgis.com/datasets/9a3a8c427add450eaf45a470245680fc_5.geojson?outSR={%22latestWkid%22:2249,%22wkid%22:102686}') as response:
    pd_districts = json.load(response)

df_agg = df.groupby("DISTRICT").agg(CRIMES=("YEAR","count")) 
df_agg.reset_index(inplace=True)
df_agg = df_agg[df_agg['DISTRICT'] != 'nan']

df['DISTRICT'] = df['DISTRICT'].apply(lambda x: str(x))
fig = go.Figure(go.Choroplethmapbox(geojson=pd_districts, 
    locations=df_agg['DISTRICT'].unique(), 
    z=df_agg['CRIMES'], 
    featureidkey="features.properties.DISTRICT")
)

fig.update_layout(mapbox_style="carto-positron")
fig.update_geos(fitbounds="locations")
fig.show()

Я считаю, что это как-то связано с моим featureidkey. Однако я пробовал несколько вариантов, таких как properties.DISTRICT, properties.ID, но безрезультатно.

Я также провел несколько проверок работоспособности, чтобы убедиться, что данные были доступны, и вот они:

print(df_agg['DISTRICT'].unique())
print(pd_districts['features'][0]['properties']['ID'])
print(df['DISTRICT'].dtype)

Любая помощь будет оценена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...