pyecharts从入门到精通-地图专题Map-世界地图和中国城市地图

参考

官方文档:https://pyecharts.org/#/zh-cn/quickstart
Python使用Pyecharts画Geo地图,如何显示具体地点名称
pyecharts世界地图用:国家中英文对照表.xlsx
Map中的地理坐标问题

安装与查看pyecharts

安装pyecharts

pip install pyecharts==2.0.3
# Successfully installed prettytable-3.7.0 pyecharts-2.0.3 simplejson-3.19.1

查看版本

import pyecharts
print(pyecharts.__version__) 
# 2.0.3

地图实现-Geo

pyecharts的地图实现包括:

Geo:地理坐标系
Map:地图
BMap:百度地图

本部分完成Geo地理坐标系实现。

数据集查看

数据为世界人口数据,数据集连接:
Worldometers网站可实时统计全球人口数量
全球人口实时统计数据网站(Worldometers),联合国预计今日全球人口将突破80亿!

在这里插入图片描述

读取数据

import pandas as pd
df = pd.read_excel(r'D:\Users\DELL\Desktop\populationtopAll.xlsx',engine='openpyxl',sheet_name="中文")
df

在这里插入图片描述

生成中文国家名称

国家中文和英文名称字典:

name_map = {‘Singapore Rep.’: ‘新加坡’, ‘Dominican Rep.’: ‘多米尼加’, ‘Palestine’: ‘巴勒斯坦’, ‘Bahamas’: ‘巴哈马’, ‘Timor-Leste’: ‘东帝汶’, ‘Afghanistan’: ‘阿富汗’, ‘Guinea-Bissau’: ‘几内亚比绍’, “Cte d’Ivoire”: ‘科特迪瓦’, ‘Siachen Glacier’: ‘锡亚琴冰川’, “Br. Indian Ocean Ter.”: ‘英属印度洋领土’, ‘Angola’: ‘安哥拉’, ‘Albania’: ‘阿尔巴尼亚’, ‘United Arab Emirates’: ‘阿联酋’, ‘Argentina’: ‘阿根廷’, ‘Armenia’: ‘亚美尼亚’, ‘French Southern and Antarctic Lands’: ‘法属南半球和南极领地’, ‘Australia’: ‘澳大利亚’, ‘Austria’: ‘奥地利’, ‘Azerbaijan’: ‘阿塞拜疆’, ‘Burundi’: ‘布隆迪’, ‘Belgium’: ‘比利时’, ‘Benin’: ‘贝宁’, ‘Burkina Faso’: ‘布基纳法索’, ‘Bangladesh’: ‘孟加拉国’, ‘Bulgaria’: ‘保加利亚’, ‘The Bahamas’: ‘巴哈马’, ‘Bosnia and Herz.’: ‘波斯尼亚和黑塞哥维那’, ‘Belarus’: ‘白俄罗斯’, ‘Belize’: ‘伯利兹’, ‘Bermuda’: ‘百慕大’, ‘Bolivia’: ‘玻利维亚’, ‘Brazil’: ‘巴西’, ‘Brunei’: ‘文莱’, ‘Bhutan’: ‘不丹’, ‘Botswana’: ‘博茨瓦纳’, ‘Central African Rep.’: ‘中非’, ‘Canada’: ‘加拿大’, ‘Switzerland’: ‘瑞士’, ‘Chile’: ‘智利’, ‘China’: ‘中国’, ‘Ivory Coast’: ‘象牙海岸’, ‘Cameroon’: ‘喀麦隆’, ‘Dem. Rep. Congo’: ‘刚果民主共和国’, ‘Congo’: ‘刚果’, ‘Colombia’: ‘哥伦比亚’, ‘Costa Rica’: ‘哥斯达黎加’, ‘Cuba’: ‘古巴’, ‘N. Cyprus’: ‘北塞浦路斯’, ‘Cyprus’: ‘塞浦路斯’, ‘Czech Rep.’: ‘捷克’, ‘Germany’: ‘德国’, ‘Djibouti’: ‘吉布提’, ‘Denmark’: ‘丹麦’, ‘Algeria’: ‘阿尔及利亚’, ‘Ecuador’: ‘厄瓜多尔’, ‘Egypt’: ‘埃及’, ‘Eritrea’: ‘厄立特里亚’, ‘Spain’: ‘西班牙’, ‘Estonia’: ‘爱沙尼亚’, ‘Ethiopia’: ‘埃塞俄比亚’, ‘Finland’: ‘芬兰’, ‘Fiji’: ‘斐’, ‘Falkland Islands’: ‘福克兰群岛’, ‘France’: ‘法国’, ‘Gabon’: ‘加蓬’, ‘United Kingdom’: ‘英国’, ‘Georgia’: ‘格鲁吉亚’, ‘Ghana’: ‘加纳’, ‘Guinea’: ‘几内亚’, ‘Gambia’: ‘冈比亚’, ‘Guinea Bissau’: ‘几内亚比绍’, ‘Eq. Guinea’: ‘赤道几内亚’, ‘Greece’: ‘希腊’, ‘Greenland’: ‘格陵兰’, ‘Guatemala’: ‘危地马拉’, ‘French Guiana’: ‘法属圭亚那’, ‘Guyana’: ‘圭亚那’, ‘Honduras’: ‘洪都拉斯’, ‘Croatia’: ‘克罗地亚’, ‘Haiti’: ‘海地’, ‘Hungary’: ‘匈牙利’, ‘Indonesia’: ‘印度尼西亚’, ‘India’: ‘印度’, ‘Ireland’: ‘爱尔兰’, ‘Iran’: ‘伊朗’, ‘Iraq’: ‘伊拉克’, ‘Iceland’: ‘冰岛’, ‘Israel’: ‘以色列’, ‘Italy’: ‘意大利’, ‘Jamaica’: ‘牙买加’, ‘Jordan’: ‘约旦’, ‘Japan’: ‘日本’, ‘Kazakhstan’: ‘哈萨克斯坦’, ‘Kenya’: ‘肯尼亚’, ‘Kyrgyzstan’: ‘吉尔吉斯斯坦’, ‘Cambodia’: ‘柬埔寨’, ‘Korea’: ‘韩国’, ‘Kosovo’: ‘科索沃’, ‘Kuwait’: ‘科威特’, ‘Lao PDR’: ‘老挝’, ‘Lebanon’: ‘黎巴嫩’, ‘Liberia’: ‘利比里亚’, ‘Libya’: ‘利比亚’, ‘Sri Lanka’: ‘斯里兰卡’, ‘Lesotho’: ‘莱索托’, ‘Lithuania’: ‘立陶宛’, ‘Luxembourg’: ‘卢森堡’, ‘Latvia’: ‘拉脱维亚’, ‘Morocco’: ‘摩洛哥’, ‘Moldova’: ‘摩尔多瓦’, ‘Madagascar’: ‘马达加斯加’, ‘Mexico’: ‘墨西哥’, ‘Macedonia’: ‘马其顿’, ‘Mali’: ‘马里’, ‘Myanmar’: ‘缅甸’, ‘Montenegro’: ‘黑山’, ‘Mongolia’: ‘蒙古’, ‘Mozambique’: ‘莫桑比克’, ‘Mauritania’: ‘毛里塔尼亚’, ‘Malawi’: ‘马拉维’, ‘Malaysia’: ‘马来西亚’, ‘Namibia’: ‘纳米比亚’, ‘New Caledonia’: ‘新喀里多尼亚’, ‘Niger’: ‘尼日尔’, ‘Nigeria’: ‘尼日利亚’, ‘Nicaragua’: ‘尼加拉瓜’, ‘Netherlands’: ‘荷兰’, ‘Norway’: ‘挪威’, ‘Nepal’: ‘尼泊尔’, ‘New Zealand’: ‘新西兰’, ‘Oman’: ‘阿曼’, ‘Pakistan’: ‘巴基斯坦’, ‘Panama’: ‘巴拿马’, ‘Peru’: ‘秘鲁’, ‘Philippines’: ‘菲律宾’, ‘Papua New Guinea’: ‘巴布亚新几内亚’, ‘Poland’: ‘波兰’, ‘Puerto Rico’: ‘波多黎各’, ‘Dem. Rep. Korea’: ‘朝鲜’, ‘Portugal’: ‘葡萄牙’, ‘Paraguay’: ‘巴拉圭’, ‘Qatar’: ‘卡塔尔’, ‘Romania’: ‘罗马尼亚’, ‘Russia’: ‘俄罗斯’, ‘Rwanda’: ‘卢旺达’, ‘W. Sahara’: ‘西撒哈拉’, ‘Saudi Arabia’: ‘沙特阿拉伯’, ‘Sudan’: ‘苏丹’, ‘S. Sudan’: ‘南苏丹’, ‘Senegal’: ‘塞内加尔’, ‘Solomon Is.’: ‘所罗门群岛’, ‘Sierra Leone’: ‘塞拉利昂’, ‘El Salvador’: ‘萨尔瓦多’, ‘Somaliland’: ‘索马里兰’, ‘Somalia’: ‘索马里’, ‘Serbia’: ‘塞尔维亚’, ‘Suriname’: ‘苏里南’, ‘Slovakia’: ‘斯洛伐克’, ‘Slovenia’: ‘斯洛文尼亚’, ‘Sweden’: ‘瑞典’, ‘Swaziland’: ‘斯威士兰’, ‘Syria’: ‘叙利亚’, ‘Chad’: ‘乍得’, ‘Togo’: ‘多哥’, ‘Thailand’: ‘泰国’, ‘Tajikistan’: ‘塔吉克斯坦’, ‘Turkmenistan’: ‘土库曼斯坦’, ‘East Timor’: ‘东帝汶’, ‘Trinidad and Tobago’: ‘特里尼达和多巴哥’, ‘Tunisia’: ‘突尼斯’, ‘Turkey’: ‘土耳其’, ‘Tanzania’: ‘坦桑尼亚’, ‘Uganda’: ‘乌干达’, ‘Ukraine’: ‘乌克兰’, ‘Uruguay’: ‘乌拉圭’, ‘United States’: ‘美国’, ‘Uzbekistan’: ‘乌兹别克斯坦’, ‘Venezuela’: ‘委内瑞拉’, ‘Vietnam’: ‘越南’, ‘Vanuatu’: ‘瓦努阿图’, ‘West Bank’: ‘西岸’, ‘Yemen’: ‘也门’, ‘South Africa’: ‘南非’, ‘Zambia’: ‘赞比亚’, ‘Zimbabwe’: ‘津巴布韦’, ‘Comoros’: ‘科摩罗’}

根据字典,生成国家中文名

df['国家(中文)']=df['国家(英文)'].map(name_map)
print(df.head())
df.info()

在这里插入图片描述

另外,部分字典中国家中文名称和Excel中国家名称不对应,需要修改。否则,这几个国家数值不能正常显示(源代码中已修改)。如:波黑(Excel文件中为全称)、蒙古(Excel文件中为蒙古国)、土库曼斯坦(Excel文件中没有,我们最后一行添加数据0)、刚果民主共和国(Excel文件中为刚果(金))、刚果(Excel文件中为刚果(布)),如果需要修改的话,再单独修改,这里不进行细节处理。

查看没有转换成功的国家中文有哪些

df[df['国家(中文)'].isna()]

在这里插入图片描述

过滤包含中文国家名的数据

df_new_cn = df[~df['国家(中文)'].isna()]
df_new_cn

在这里插入图片描述

可视化人口数据

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker

c = (
    Map()
    .add("人口数量", [list(z) for z in zip(df_new_cn['国家(英文)'], df_new_cn['人口数量'])], "world")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Map-世界地图"),
        visualmap_opts=opts.VisualMapOpts(max_=1500000000),
    )
#     .render("map_world.html")
)
c.render_notebook()

在这里插入图片描述

显示中国城市地图数据

from pyecharts import options as opts
from pyecharts.charts import Map
from pyecharts.faker import Faker

print(dir(Faker))
c = (
    Map()
    .add(
        "商家A",
        [list(z) for z in zip(Faker.guangdong_city, Faker.values())],
        #"china-cities",
        '广东',
        label_opts=opts.LabelOpts(is_show=False),
    )
    .set_global_opts(
        title_opts=opts.TitleOpts(title="Map-中国地图(带城市)"),
        visualmap_opts=opts.VisualMapOpts(),
    )
#     .render("map_china_cities.html")
)
c.render_notebook()

在这里插入图片描述

拓展-pyecharts中Map源码

class pyecharts.charts.Map

class Map(
    # 初始化配置项,参考 `global_options.InitOpts`
    init_opts: opts.InitOpts = opts.InitOpts()
)

func pyecharts.charts.Map.add

def add(
    # 系列名称,用于 tooltip 的显示,legend 的图例筛选。
    series_name: str,

    # 数据项 (坐标点名称,坐标点值)
    data_pair: types.Sequence[types.Union[types.Sequence, opts.MapItem, dict]],

    # 地图类型,具体参考 pyecharts.datasets.map_filenames.json 文件
    maptype: str = "china",

    # 是否选中图例
    is_selected: bool = True,

    # 是否开启鼠标缩放和平移漫游。
    is_roam: bool = True,

    # 当前视角的中心点,用经纬度表示
    center: Optional[Sequence] = None,

    # 参数用于 scale 地图的长宽比。
    aspect_scale: types.Numeric = 0.75,

    # 二维数组,定义定位的左上角以及右下角分别所对应的经纬度。
    bounding_coords: types.Optional[types.Sequence[types.Numeric]] = None,

    # 最小的缩放值。
    min_scale_limit: types.Optional[types.Numeric] = None,

    # 最大的缩放值。
    max_scale_limit: types.Optional[types.Numeric] = None,

    # 默认是 'name',针对 GeoJSON 要素的自定义属性名称,作为主键用于关联数据点和 GeoJSON 地理要素。
    name_property: str = "name",

    # 选中模式,表示是否支持多个选中,默认关闭,支持布尔值和字符串。
    # 字符串取值可选'single'表示单选,或者'multiple'表示多选。
    selected_mode: types.Union[bool, str] = False,

    # 当前视角的缩放比例。
    zoom: Optional[Numeric] = 1,

    # 自定义地区的名称映射
    name_map: Optional[dict] = None,

    # 标记图形形状
    symbol: Optional[str] = None,

    # 多个拥有相同地图类型的系列会使用同一个地图展现。
    # 如果多个系列都在同一个区域有值,ECharts 会对这些值统计得到一个数据。
    # 这个配置项就是用于配置统计的方式,目前有:
    # 'sum' 取和。
    # 'average' 取平均值。
    # 'max' 取最大值。
    # 'min' 取最小值。
    map_value_calculation: str = "sum",

    # 是否显示标记图形
    is_map_symbol_show: bool = True,

    # 所有图形的 zlevel 值。
    # zlevel 大的 Canvas 会放在 zlevel 小的 Canvas 的上面。
    z_level: types.Numeric = 0,

    # 组件的所有图形的z值。控制图形的前后顺序。z 值小的图形会被 z 值大的图形覆盖。
    # z 相比 zlevel 优先级更低,而且不会创建新的 Canvas。
    z: types.Numeric = 2,

    # 组件离容器左侧的距离。
    # left 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比
    # 也可以是 'left', 'center', 'right'。
    pos_left: types.Union[str, types.Numeric] = "auto",

    # 组件离容器上侧的距离。
    # top 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比
    # 也可以是 'top', 'middle', 'bottom'。
    pos_top: types.Union[str, types.Numeric] = "auto",

    # 组件离容器右侧的距离。
    # right 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。默认自适应。
    pos_right: types.Union[str, types.Numeric] = "auto",

    # 组件离容器下侧的距离。
    # bottom 的值可以是像 20 这样的具体像素值,可以是像 '20%' 这样相对于容器高宽的百分比。默认自适应。
    pos_bottom: types.Union[str, types.Numeric] = "auto",

    # 默认情况下,map series 会自己生成内部专用的 geo 组件。但是也可以用这个 geoIndex 指定一个 geo 组件。
    geo_index: types.Optional[types.Numeric] = None,

    # 当使用 dataset 时,seriesLayoutBy 指定了 dataset 中用行还是列对应到系列上
    # 也就是说,系列“排布”到 dataset 的行还是列上。可取值:
    # 'column':默认,dataset 的列对应于系列,从而 dataset 中每一列是一个维度(dimension)。
    # 'row':dataset 的行对应于系列,从而 dataset 中每一行是一个维度(dimension)。
    series_layout_by: str = "column",

    # 如果 series.data 没有指定,并且 dataset 存在,那么就会使用 dataset。datasetIndex 指定本系列使用那个 dataset。
    dataset_index: types.Optional[types.Numeric] = 0,

    # pyecharts 暂时没有提供 left/top/right/bottom 的配置
    # layoutCenter 和 layoutSize 提供了除了 left/right/top/bottom/width/height 之外的布局手段。
    # 在使用 left/right/top/bottom/width/height 的时候
    # 可能很难在保持地图高宽比的情况下把地图放在某个盒形区域的正中间,并且保证不超出盒形的范围。
    # 此时可以通过 layoutCenter 属性定义地图中心在屏幕中的位置,layoutSize 定义地图的大小。
    # 如下示例
    # layoutCenter: ['30%', '30%'],
    # // 如果宽高比大于 1 则宽度为 100,如果小于 1 则高度为 100,保证了不超过 100x100 的区域
    # layoutSize: 100
    layout_center: types.Optional[types.Sequence[str]] = None,

    # 地图的大小,见 layoutCenter。支持相对于屏幕宽高的百分比或者绝对的像素大小。
    layout_size: types.Union[str, types.Numeric] = None,

    # 标签配置项,参考 `series_options.LabelOpts`
    label_opts: Union[opts.LabelOpts, dict] = opts.LabelOpts(),

    # 提示框组件配置项,参考 `series_options.TooltipOpts`
    tooltip_opts: Union[opts.TooltipOpts, dict, None] = None,

    # 图元样式配置项,参考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,

    # 高亮标签配置项,参考 `series_options.LabelOpts`
    emphasis_label_opts: Union[opts.LabelOpts, dict, None] = None,

    # 高亮图元样式配置项,参考 `series_options.ItemStyleOpts`
    emphasis_itemstyle_opts: Union[opts.ItemStyleOpts, dict, None] = None,
)

在这里插入图片描述

MapItem:地图数据项

class MapItem(
    # 数据所对应的地图区域的名称,例如 '广东','浙江'。
    name: Optional[str] = None,

    # 该区域的数据值。
    value: Optional[Numeric] = None,

    # 该区域是否选中。
    is_selected: bool = False,

    # 标签配置项,参考 `series_options.LabelOpts`
    label_opts: Union[LabelOpts, dict, None] = None,

    # 图元样式配置项,参考 `series_options.ItemStyleOpts`
    itemstyle_opts: Union[ItemStyleOpts, dict, None] = None,

    # 提示框组件配置项,参考 `series_options.TooltipOpts`
    tooltip_opts: Union[TooltipOpts, dict, None] = None,
)

拓展-python字典key和value互换

参考:https://blog.csdn.net/qq_34663267/article/details/111183411
上面给出的字典中,key为应为,value为中文,需要互换下:

1.字典推导式:

m = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4}
res = {
    
    v: k for k, v in m.items()}
print(res)

2.使用压缩器:

m = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4}
mi = dict(zip(m.values(), m.keys()))
print(mi)

3.遍历字典:

m = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4}
inverted_dict = {
    
    }
for key, value in m.items():
    inverted_dict[value] = key
print(inverted_dict)

4.结合函数map, reversed:

m = {
    
    'a': 1, 'b': 2, 'c': 3, 'd': 4}
inverted_dict = dict(map(reversed, m.items()))
print(inverted_dict)

根据英文列生成中文国家名称,以上4种方法均可,本文采用字典推导式:

res = {
    
    v: k for k, v in name_map.items()}
res

在这里插入图片描述

备注,如果不想转换字典,也可以通过如下函数实现根据value获取key

# 根据字典的value获取key的函数如下:
def getkey(value, tDict):
    '''知道值获取键'''
    keys = [i for i in tDict.keys()]
    values = [j for j in tDict.values()]
    if value in values:
        i = values.index(value)
    return keys[i]

附件-世界国家地区人口数据

序号,国家(中文),国家(英文),人口数量,增长率,人口密度
1,China,“1,439,323,776”,0.39%,153
2,India,“1,380,004,385”,0.99%,464
3,United States,“331,002,651”,0.59%,36
4,Indonesia,“273,523,615”,1.07%,151
5,Pakistan,“220,892,340”,2.00%,287
6,Brazil,“212,559,417”,0.72%,25
7,Nigeria,“206,139,589”,2.58%,226
8,Bangladesh,“164,689,383”,1.01%,“1,265”
9,Russia,“145,934,462”,0.04%,9
10,Mexico,“128,932,753”,1.06%,66
11,Japan,“126,476,461”,-0.30%,347
12,Ethiopia,“114,963,588”,2.57%,115
13,Philippines,“109,581,078”,1.35%,368
14,Egypt,“102,334,404”,1.94%,103
15,Vietnam,“97,338,579”,0.91%,314
16,DR Congo,“89,561,403”,3.19%,40
17,Turkey,“84,339,067”,1.09%,110
18,Iran,“83,992,949”,1.30%,52
19,Germany,“83,783,942”,0.32%,240
20,Thailand,“69,799,978”,0.25%,137
21,United Kingdom,“67,886,011”,0.53%,281
22,France,“65,273,511”,0.22%,119
23,Italy,“60,461,826”,-0.15%,206
24,Tanzania,“59,734,218”,2.98%,67
25,South Africa,“59,308,690”,1.28%,49
26,Myanmar,“54,409,800”,0.67%,83
27,Kenya,“53,771,296”,2.28%,94
28,South Korea,“51,269,185”,0.09%,527
29,Colombia,“50,882,891”,1.08%,46
30,Spain,“46,754,778”,0.04%,94
31,Uganda,“45,741,007”,3.32%,229
32,Argentina,“45,195,774”,0.93%,17
33,Algeria,“43,851,044”,1.85%,18
34,Sudan,“43,849,260”,2.42%,25
35,Ukraine,“43,733,762”,-0.59%,75
36,Iraq,“40,222,493”,2.32%,93
37,Afghanistan,“38,928,346”,2.33%,60
38,Poland,“37,846,611”,-0.11%,124
39,Canada,“37,742,154”,0.89%,4
40,Morocco,“36,910,560”,1.20%,83
41,Saudi Arabia,“34,813,871”,1.59%,16
42,Uzbekistan,“33,469,203”,1.48%,79
43,Peru,“32,971,854”,1.42%,26
44,Angola,“32,866,272”,3.27%,26
45,Malaysia,“32,365,999”,1.30%,99
46,Mozambique,“31,255,435”,2.93%,40
47,Ghana,“31,072,940”,2.15%,137
48,Yemen,“29,825,964”,2.28%,56
49,Nepal,“29,136,808”,1.85%,203
50,Venezuela,“28,435,940”,-0.28%,32
51,Madagascar,“27,691,018”,2.68%,48
52,Cameroon,“26,545,863”,2.59%,56
53,C么te d’Ivoire,“26,378,274”,2.57%,83
54,North Korea,“25,778,816”,0.44%,214
55,Australia,“25,499,884”,1.18%,3
56,Niger,“24,206,644”,3.84%,19
57,Taiwan,“23,816,775”,0.18%,673
58,Sri Lanka,“21,413,249”,0.42%,341
59,Burkina Faso,“20,903,273”,2.86%,76
60,Mali,“20,250,833”,3.02%,17
61,Romania,“19,237,691”,-0.66%,84
62,Malawi,“19,129,952”,2.69%,203
63,Chile,“19,116,201”,0.87%,26
64,Kazakhstan,“18,776,707”,1.21%,7
65,Zambia,“18,383,955”,2.93%,25
66,Guatemala,“17,915,568”,1.90%,167
67,Ecuador,“17,643,054”,1.55%,71
68,Syria,“17,500,658”,2.52%,95
69,Netherlands,“17,134,872”,0.22%,508
70,Senegal,“16,743,927”,2.75%,87
71,Cambodia,“16,718,965”,1.41%,95
72,Chad,“16,425,864”,3.00%,13
73,Somalia,“15,893,222”,2.92%,25
74,Zimbabwe,“14,862,924”,1.48%,38
75,Guinea,“13,132,795”,2.83%,53
76,Rwanda,“12,952,218”,2.58%,525
77,Benin,“12,123,200”,2.73%,108
78,Burundi,“11,890,784”,3.12%,463
79,Tunisia,“11,818,619”,1.06%,76
80,Bolivia,“11,673,021”,1.39%,11
81,Belgium,“11,589,623”,0.44%,383
82,Haiti,“11,402,528”,1.24%,414
83,Cuba,“11,326,616”,-0.06%,106
84,South Sudan,“11,193,725”,1.19%,18
85,Dominican Republic,“10,847,910”,1.01%,225
86,Czech Republic (Czechia),“10,708,981”,0.18%,139
87,Greece,“10,423,054”,-0.48%,81
88,Jordan,“10,203,134”,1.00%,115
89,Portugal,“10,196,709”,-0.29%,111
90,Azerbaijan,“10,139,177”,0.91%,123
91,Sweden,“10,099,265”,0.63%,25
92,Honduras,“9,904,607”,1.63%,89
93,United Arab Emirates,“9,890,402”,1.23%,118
94,Hungary,“9,660,351”,-0.25%,107
95,Tajikistan,“9,537,645”,2.32%,68
96,Belarus,“9,449,323”,-0.03%,47
97,Austria,“9,006,398”,0.57%,109
98,Papua New Guinea,“8,947,024”,1.95%,20
99,Serbia,“8,737,371”,-0.40%,100
100,Israel,“8,655,535”,1.60%,400
101,Switzerland,“8,654,622”,0.74%,219
102,Togo,“8,278,724”,2.43%,152
103,Sierra Leone,“7,976,983”,2.10%,111
104,Hong Kong,“7,496,981”,0.82%,“7,140”
105,Laos,“7,275,560”,1.48%,32
106,Paraguay,“7,132,538”,1.25%,18
107,Bulgaria,“6,948,445”,-0.74%,64
108,Libya,“6,871,292”,1.38%,4
109,Lebanon,“6,825,445”,-0.44%,667
110,Nicaragua,“6,624,554”,1.21%,55
111,Kyrgyzstan,“6,524,195”,1.69%,34
112,El Salvador,“6,486,205”,0.51%,313
113,Turkmenistan,“6,031,200”,1.50%,13
114,Singapore,“5,850,342”,0.79%,“8,358”
115,Denmark,“5,792,202”,0.35%,137
116,Finland,“5,540,720”,0.15%,18
117,Congo,“5,518,087”,2.56%,16
118,Slovakia,“5,459,642”,0.05%,114
119,Norway,“5,421,241”,0.79%,15
120,Oman,“5,106,626”,2.65%,16
121,State of Palestine,“5,101,414”,2.41%,847
122,Costa Rica,“5,094,118”,0.92%,100
123,Liberia,“5,057,681”,2.44%,53
124,Ireland,“4,937,786”,1.13%,72
125,Central African Republic,“4,829,767”,1.78%,8
126,New Zealand,“4,822,233”,0.82%,18
127,Mauritania,“4,649,658”,2.74%,5
128,Panama,“4,314,767”,1.61%,58
129,Kuwait,“4,270,571”,1.51%,240
130,Croatia,“4,105,267”,-0.61%,73
131,Moldova,“4,033,963”,-0.23%,123
132,Georgia,“3,989,167”,-0.19%,57
133,Eritrea,“3,546,421”,1.41%,35
134,Uruguay,“3,473,730”,0.35%,20
135,Bosnia and Herzegovina,“3,280,819”,-0.61%,64
136,Mongolia,“3,278,290”,1.65%,2
137,Armenia,“2,963,243”,0.19%,104
138,Jamaica,“2,961,167”,0.44%,273
139,Qatar,“2,881,053”,1.73%,248
140,Albania,“2,877,797”,-0.11%,105
141,Puerto Rico,“2,860,853”,-2.47%,323
142,Lithuania,“2,722,289”,-1.35%,43
143,Namibia,“2,540,905”,1.86%,3
144,Gambia,“2,416,668”,2.94%,239
145,Botswana,“2,351,627”,2.08%,4
146,Gabon,“2,225,734”,2.45%,9
147,Lesotho,“2,142,249”,0.80%,71
148,North Macedonia,“2,083,374”,0.00%,83
149,Slovenia,“2,078,938”,0.01%,103
150,Guinea-Bissau,“1,968,001”,2.45%,70
151,Latvia,“1,886,198”,-1.08%,30
152,Bahrain,“1,701,575”,3.68%,“2,239”
153,Equatorial Guinea,“1,402,985”,3.47%,50
154,Trinidad and Tobago,“1,399,488”,0.32%,273
155,Estonia,“1,326,535”,0.07%,31
156,Timor-Leste,“1,318,445”,1.96%,89
157,Mauritius,“1,271,768”,0.17%,626
158,Cyprus,“1,207,359”,0.73%,131
159,Eswatini,“1,160,164”,1.05%,67
160,Djibouti,“988,000”,1.48%,43
161,Fiji,“896,445”,0.73%,49
162,R茅union,“895,312”,0.72%,358
163,Comoros,“869,601”,2.20%,467
164,Guyana,“786,552”,0.48%,4
165,Bhutan,“771,608”,1.12%,20
166,Solomon Islands,“686,884”,2.55%,25
167,Macao,“649,335”,1.39%,“21,645”
168,Montenegro,“628,066”,0.01%,47
169,Luxembourg,“625,978”,1.66%,242
170,Western Sahara,“597,339”,2.55%,2
171,Suriname,“586,632”,0.90%,4
172,Cabo Verde,“555,987”,1.10%,138
173,Micronesia,“548,914”,1.00%,784
174,Maldives,“540,544”,1.81%,“1,802”
175,Malta,“441,543”,0.27%,“1,380”
176,Brunei,“437,479”,0.97%,83
177,Guadeloupe,“400,124”,0.02%,237
178,Belize,“397,628”,1.86%,17
179,Bahamas,“393,244”,0.97%,39
180,Martinique,“375,265”,-0.08%,354
181,Iceland,“341,243”,0.65%,3
182,Vanuatu,“307,145”,2.42%,25
183,French Guiana,“298,682”,2.70%,4
184,Barbados,“287,375”,0.12%,668
185,New Caledonia,“285,498”,0.97%,16
186,French Polynesia,“280,908”,0.58%,77
187,Mayotte,“272,815”,2.50%,728
188,Sao Tome & Principe,“219,159”,1.91%,228
189,Samoa,“198,414”,0.67%,70
190,Saint Lucia,“183,627”,0.46%,301
191,Channel Islands,“173,863”,0.93%,915
192,Guam,“168,775”,0.89%,313
193,Cura莽ao,“164,093”,0.41%,370
194,Kiribati,“119,449”,1.57%,147
195,Grenada,“112,523”,0.46%,331
196,St. Vincent & Grenadines,“110,940”,0.32%,284
197,Aruba,“106,766”,0.43%,593
198,Tonga,“105,695”,1.15%,147
199,U.S. Virgin Islands,“104,425”,-0.15%,298
200,Seychelles,“98,347”,0.62%,214
201,Antigua and Barbuda,“97,929”,0.84%,223
202,Isle of Man,“85,033”,0.53%,149
203,Andorra,“77,265”,0.16%,164
204,Dominica,“71,986”,0.25%,96
205,Cayman Islands,“65,722”,1.19%,274
206,Bermuda,“62,278”,-0.36%,“1,246”
207,Marshall Islands,“59,190”,0.68%,329
208,Northern Mariana Islands,“57,559”,0.60%,125
209,Greenland,“56,770”,0.17%,0
210,American Samoa,“55,191”,-0.22%,276
211,Saint Kitts & Nevis,“53,199”,0.71%,205
212,Faeroe Islands,“48,863”,0.38%,35
213,Sint Maarten,“42,876”,1.15%,“1,261”
214,Monaco,“39,242”,0.71%,“26,337”
215,Turks and Caicos,“38,717”,1.38%,41
216,Saint Martin,“38,666”,1.75%,730
217,Liechtenstein,“38,128”,0.29%,238
218,San Marino,“33,931”,0.21%,566
219,Gibraltar,“33,691”,-0.03%,“3,369”
220,British Virgin Islands,“30,231”,0.67%,202
221,Caribbean Netherlands,“26,223”,0.94%,80
222,Palau,“18,094”,0.48%,39
223,Cook Islands,“17,564”,0.09%,73
224,Anguilla,“15,003”,0.90%,167
225,Tuvalu,“11,792”,1.25%,393
226,Wallis & Futuna,“11,239”,-1.69%,80
227,Nauru,“10,824”,0.63%,541
228,Saint Barthelemy,“9,877”,0.30%,470
229,Saint Helena,“6,077”,0.30%,16
230,Saint Pierre & Miquelon,“5,794”,-0.48%,25
231,Montserrat,“4,992”,0.06%,50
232,Falkland Islands,“3,480”,3.05%,0
233,Niue,“1,626”,0.68%,6
234,Tokelau,“1,357”,1.27%,136
235,Holy See,801,0.25%,“2,003”

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_38139250/article/details/130193303