Geopandas 和 matplotlib 中缺失值的问题

Problem with missing values in Geopandas, matplotlib

我想制作一个叶轮世界地图。 我在数据框世界中添加了一列,其中包含每个国家/地区的多次出现。我有一本字典,其中包含每个国家的名称以及每个国家在我自己的数据集中出现的次数。我已经使用以下代码将这本按国家/地区名称的字典与世界数据框进行了匹配:

 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' 的最新系统,但它对我不起作用。我尝试绘制不同的列以查看该特定列是否有问题,但这没有区别。没有 missing_kwds 代码可以工作,但会绘制所有具有 NaN 的国家,这样我就无法区分出现 fx 2 的国家和出现 0 的国家,即 NaN。出了什么问题?

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