Что означает эта ошибка на карте Folium Choropleth? - PullRequest
0 голосов
/ 20 февраля 2019

Последние пару дней я изо всех сил пытался заставить карту Folium Choropleth работать правильно.Наиболее вероятной причиной моей проблемы является то, как загружается файл JSON или сам JSON.

Когда я открываю файл JSON с помощью with open('PaCounty2019_01.json') as data_file: county_data = json.load(data_file), я получаю следующую ошибку: AttributeError: 'NoneType' object has no attribute 'get'

Когда я открываю файл JSON с помощью county_data = pd.read_json('PaCounty2019_01.json'), я получаю следующую ошибку ValueError: Unhandled objecttype features, и он печатает фрейм данных, который имеет только 2 столбца, вторая строка представляет собой вложенный dict .... Так что давайте попробуем использовать json _normalize...

Я получаю ту же ошибку, что и выше, но у меня на этот раз 23 столбца вместо двух.

Я также убедился, что и для json, и для csv было одинаковое имя столбца, чтобы включить его,это тоже не сработало

Ссылка JSON здесь: https://drive.google.com/open?id=1RR2hwymtugKO33F_PCrnLvh2qUBMlmKF Ссылка CSV здесь: https://drive.google.com/open?id=1fXSghs5cFVWIjDXn1zNNres4HOs2OiQU

import folium
import pandas as pd
import json
from pandas.io.json import json_normalize


county_data = pd.read_json('PaCounty2019_01.json')
county_data = json_normalize(county_data['features'])

drug_data = pd.read_csv('PA_Drug_Total.csv')

m = folium.Map(location=[48, -102], zoom_start=3)

m.choropleth(
    geo_data=county_data,
    name='choropleth',
    data=drug_data,
    columns=['COUNTY_NUM', 'rate'],
    key_on='features.properties.COUNTY_NUM',
    fill_color='BuPu',
    fill_opacity=0.2,
    line_opacity=0.8,
    legend_name='Crime rate per 100,000 people'
)

folium.LayerControl().add_to(m)

m.save('webmap.html')
...