我一直在尝试创建一个基于纽约邮政编码的choropleth地图。我在网上找到了一些不同的教程,但它们都因同一个问题而失败(大部分都引用了同一个文件,所以不太奇怪)
这是我尝试使用的geojson文件。 https://github.com/fedhere/PUI2015_EC/blob/master/mam1612_EC/nyc-zip-code-tabulation-areas-polygons.geojson
当我尝试使用“代码A”或引用“代码B”或“代码C”中的下载版本打开它时,我会收到相同的错误消息。我试图检查文件,但似乎找不到问题所在和解决方案。我在另一个线程中尝试了所有代码建议,但没有任何效果
错误消息是: JSONDecodeError:期望值:第7行第1列(字符6)
我的代码如下-引用的数据框'df_zi'有4列,但是为了可视化,我将只使用zip和customers
有人对如何克服这个问题有什么建议吗?我对使用json文件非常陌生,所以它完全超出了我的舒适区
提前谢谢
from urllib.request import urlopen
import json
import pandas as pd
import folium
# Code A:
with urlopen('https://github.com/fedhere/PUI2015_EC/blob/master/mam1612_EC/nyc-zip-code-tabulation-areas-polygons.geojson') as response:
NYC_zipcodes_json = json.load(response)
# Code B:
map = folium.Map(location=[40.730610,-73.935242],zoom_start=10)
map.choropleth(geo_data="nyc-zip-code-tabulation-areas-polygons.geojson",
data=df_zi, # my dataset
columns=['zip', 'customers'],
key_on='feature.properties.postalCode'
fill_color='BuPu', fill_opacity=0.7, line_opacity=0.2,
legend_name='customers')
# Code C
with open("nyc-zip-code-tabulation-areas-polygons.geojson", encoding='utf-8', errors='ignore') as json_data:
NYC_zipcodes_json = json.load(json_data, strict=False)
dataframe df_zi:
zip 783 non-null object
state 783 non-null object
county 434 non-null object
customers 783 non-null int64
你下载了错误的URL
查看您正在获取的uRL的内容。也就是说,尝试以下方法:
您会发现,您下载的是该文件的GitHub HTML页面,这当然对您没有任何好处。您需要下载实际的JSON内容,您可以通过单击“Raw”按钮来获得这些内容。这将带您到:
如果您使用那个url,您将得到一个有效的JSON文件
相关问题 更多 >
编程相关推荐