Python Geopandas、matplotlib中缺少值的问题

Python Geopandas、matplotlib中缺少值的问题,python,matplotlib,geopandas,Python,Matplotlib,Geopandas,我想做一张cloropleth世界地图。 我已经在dataframe world中添加了一个列,其中包含每个国家的一些事件。我有一本字典,上面有每个国家的名字和在我自己的数据集中每个国家出现的次数。我使用以下代码按countryname将此词典与world dataframe进行了匹配: world_countries = world['name'].tolist() count_i = [] for i in world_countries: if i in countries_

我想做一张cloropleth世界地图。 我已经在dataframe world中添加了一个列,其中包含每个国家的一些事件。我有一本字典,上面有每个国家的名字和在我自己的数据集中每个国家出现的次数。我使用以下代码按countryname将此词典与world dataframe进行了匹配:

 world_countries = world['name'].tolist()
 count_i = []
 for i in world_countries:
    if i in countries_i:
        count_i.append(countries_i[i])
    else:
        count_i.append(np.nan)

 count_u = []
 for i in world_countries:
    if i in countries_u:
        count_u.append(countries_u[i])
    else:
        count_u.append(np.nan)

 world['count_i'] = count_i
 world['count_u'] = count_u
这一切都很好,因此我添加了两个新的列,匹配国家名称,其中任何没有发生事件的国家都只有NaN

然后,我尝试使用以下代码绘制地图:

fig,ax = plt.subplots(1, 1)
 divider = make_axes_locatable(ax)
 cax = divider.append_axes("right", size="5%", pad=0.1)

 world.plot(column='count_u', 
           ax=ax, 
           legend=True,
           cax=cax,
           edgecolor='k',
           legend_kwds={'label':'Developing Countries',
                        'orientation':'vertical'},
           cmap='GnBu',
           figsize=(15, 10),
           missing_kwds={'color': 'lightgrey'})

然而,missing_kwds总是给我一个错误,说“PatchCollection”对象没有属性“missing_kwds”。我刚刚安装了GeoPandas,所以它应该是最新的系统,有“missing_kwds”,但它对我来说不起作用。我曾尝试绘制一个不同的列,以查看该特定列是否存在问题,但这没有任何区别。在没有遗漏的情况下,代码可以工作,但绘制了所有具有NaN的国家,因此我无法区分发生fx 2的国家和具有0的国家之间的差异,即NaN。出了什么问题?

您可能正在使用旧版本的GeoPandas。如果更新到最新版本(0.8.1),代码将正常工作<代码>missing_kwds是最近添加的,在旧版本中不起作用。

啊,谢谢!我上周刚安装了GeoPandas,但我有0.6.1。如何更新Geopandas?取决于它是通过
pip
还是
conda
安装的。因为你上周得到了0.6.1,我不确定它的源代码,但这将是一个快速的谷歌解决方案(例如如何更新python包)。我最初使用的是
pip
,现在使用的是
pip安装geopandas——升级
,升级到0.8.1——现在就可以了!谢谢:)您可以接受答案,将问题标记为已解决。