Прежде всего, я хотел бы начать с того, что я задаю этот вопрос, поскольку я не верю, что он связан с одноименным вопросом: сюжетно изображает, что не выводит данные , как я полагаю это как-то связано с пользовательскими границами 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)
Любая помощь будет оценена.