首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >策略: ISO-3代码中的有效国家名称列表

策略: ISO-3代码中的有效国家名称列表
EN

Stack Overflow用户
提问于 2020-06-25 01:42:02
回答 1查看 2.7K关注 0票数 2

在Python中,我用一些非洲国家的数据绘制了一张合唱图:

代码语言:javascript
复制
countries = ['BDI', 'BEN', 'BFA', 'BWA', 'CIV', 'CMR', 'COD', 'CPV', 'ETH', 'GHA', 'GIN', 'GMB', 'KEN', 'LBR', 'LSO', 'MDG', 'MLI', 'MOZ', 'MUS', 'MWI', 'NER', 'NGA', 'RWA', 'SEN', 'SLE', 'SOM', 'STP', 'TCD', 'TGO', 'TZA', 'UGA', 'ZAF', 'ZMB', 'ZWE']
z = [5, 6, 1, 1, 2, 14, 7, 1, 3, 6, 1, 2, 13, 1, 3, 11, 4, 2, 1, 6, 1, 50, 18, 5, 2, 4, 1, 1, 4, 16, 15, 4, 10, 4]

绘制这样的数据如下:

代码语言:javascript
复制
import plotly.offline as py
import plotly.graph_objs as go

countries = ['BDI', 'BEN', 'BFA', 'BWA', 'CIV', 'CMR', 'COD', 'CPV', 'ETH', 'GHA', 'GIN', 'GMB', 'KEN', 'LBR', 'LSO', 'MDG', 'MLI', 'MOZ', 'MUS', 'MWI', 'NER', 'NGA', 'RWA', 'SEN', 'SLE', 'SOM', 'STP', 'TCD', 'TGO', 'TZA', 'UGA', 'ZAF', 'ZMB', 'ZWE']
z = [5, 6, 1, 1, 2, 14, 7, 1, 3, 6, 1, 2, 13, 1, 3, 11, 4, 2, 1, 6, 1, 50, 18, 5, 2, 4, 1, 1, 4, 16, 15, 4, 10, 4]

layout = dict(geo={'scope': 'africa'})
data = dict(
    type='choropleth',
    locations=countries,
    locationmode='ISO-3',
    colorscale='Viridis',
    z=z)
map = go.Figure(data=[data], layout=layout)
py.plot(map)

输出是一个具有z值和ISO-3代码的交互式地图。

预期输出:I希望显示国家的名称,而不是ISO-3代码。我认为这可以通过传入国家的名称作为locations并将locationmode设置为'country names'来实现。

为此目的,是否有从ISO到国家名称的映射?例如,在list/dict/DataFrame配置中对应的值的plotly?我看过了,但什么也找不到。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-25 07:19:41

我们从三个字母的缩写中引用了两个字母的缩写来转换国名。引用数据的站点如下

国家ISO代码 -> 国名

代码语言:javascript
复制
c_names = []
for c in countries:
    for c2,c3 in iso3.items():
        if c3 == c:
            for v2,v3 in names.items():
                if c2 == v2:
                    c_names.append(v3)

c_names
['Burundi',
 'Benin',
 'Burkina Faso',
 'Botswana',
 'Ivory Coast',
 'Cameroon',
 'Democratic Republic of the Congo',
 'Cape Verde',
 'Ethiopia',
 'Ghana',
 'Guinea',
 'Gambia',
 'Kenya',
 'Liberia',
 'Lesotho',
 'Madagascar',
 'Mali',
 'Mozambique',
 'Mauritius',
 'Malawi',
 'Niger',
 'Nigeria',
 'Rwanda',
 'Senegal',
 'Sierra Leone',
 'Somalia',
 'Sao Tome and Principe',
 'Chad',
 'Togo',
 'Tanzania',
 'Uganda',
 'South Africa',
 'Zambia',
 'Zimbabwe']
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62566605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档