使用Python的交互式Choropleth地图



我找到了一个使用https://www.naturalearthdata.com/downloads/110m-cultural-vectors/的shapefile创建世界地图的代码下载国家v4.1.0

shapefile = 'data/countries_110m/ne_110m_admin_0_countries.shp'
datafile = 'data/obesity.csv'
gdf = gpd.read_file(shapefile)[['ADMIN', 'ADM0_A3', 'geometry']]
gdf.columns = ['country', 'country_code', 'geometry']
gdf.head()

country                     country_code      geometry
0   Fiji                                 FJI      (POLYGON ((180 -16.06713266364245, 180 -16.555...
1   United Republic of Tanzania          TZA      POLYGON ((33.90371119710453 -0.950000000000000...
2   Western Sahara                       SAH      POLYGON ((-8.665589565454809 27.65642588959236...
3   Canada                               CAN      (POLYGON ((-122.84 49.00000000000011, -122.974...
4   United States of America             USA      (POLYGON ((-122.84 49.00000000000011, -120 49....

很多人使用这个文件,一切正常。但是当我打开文件时,它只有一列'geometry'

KeyError: "['ADMIN', 'ADM0_A3'] not in index"

我不明白是文件有问题,还是代码有问题?

更新。我认为问题出在这个错误上。有时这是有效的,有时这个错误出现

DriverError: Unable to open ne_110m_admin_0_countries.shx or ne_110m_admin_0_countries.SHX. Set SHAPE_RESTORE_SHX config option to YES to restore or create it.

你好像重命名了列:

gdf.columns = ['country', 'country_code', 'geometry']

其中admin变为country,ADM0_A3变为country_code

我解决了这个问题。解决此错误的DriverError: Unable to open ne_110m_admin_0_countries.shx or ne_110m_admin_0_countries.SHX. Set SHAPE_RESTORE_SHX config option to YES to restore or create it.我刚刚创建了一个文件夹,里面有7个不同格式的相同文件:。cpg, .dbf、.prj .README、.shp .shx, .VERSION并使用该目录下的。shp文件,Jupyter能够正确读取该文件的所有列。

相关内容

  • 没有找到相关文章

最新更新