有没有办法获取国家/地区的两个字母字母代码并将它们显示在地图上?

Is there a way to take country two letter alpha codes and display them on a map?

我有一个 DataFrame,其中包含国家名称和对应的值。我使用以下代码将国家/地区转换为代码:

import pycountry

input_countries = happiness_data["Country or region"]

countries = {}
for country in pycountry.countries:
    countries[country.name] = country.alpha_2

codes = [countries.get(country, 'Unknown code') for country in input_countries]

print(codes)  

哪个returns这个:

['FI', 'DK', 'NO', 'IS', 'NL', 'CH', 'SE', 'NZ', 'CA', 'AT', 'AU', 'CR', 'IL', 'LU', 'GB', 'IE', 'DE', 'BE', 'US', 'Unknown code', 'AE', 'MT', 'MX', 'FR', 'Unknown code', 'CL', 'GT', 'SA', 'QA', 'ES', 'PA', 'BR', 'UY', 'SG', 'SV', 'IT', 'BH', 'SK', 'Unknown code', 'PL', 'UZ', 'LT', 'CO', 'SI', 'NI', 'Unknown code', 'AR', 'RO', 'CY', 'EC', 'KW', 'TH', 'LV', 'Unknown code', 'EE', 'JM', 'MU', 'JP', 'HN', 'KZ', 'Unknown code', 'HU', 'PY', 'Unknown code', 'PE', 'PT', 'PK', 'Unknown code', 'PH', 'RS', 'Unknown code', 'LY', 'ME', 'TJ', 'HR', 'HK', 'DO', 'BA', 'TR', 'MY', 'BY', 'GR', 'MN', 'MK', 'NG', 'KG', 'TM', 'DZ', 'MA', 'AZ', 'LB', 'ID', 'CN', 'Unknown code', 'BT', 'CM', 'BG', 'GH', 'Unknown code', 'NP', 'JO', 'BJ', 'Unknown code', 'GA', 'Unknown code', 'ZA', 'AL', 'Unknown code', 'KH', 'Unknown code', 'SN', 'SO', 'NA', 'NE', 'BF', 'AM', 'Unknown code', 'GN', 'GE', 'GM', 'KE', 'MR', 'MZ', 'TN', 'BD', 'IQ', 'Unknown code', 'ML', 'SL', 'LK', 'MM', 'TD', 'UA', 'ET', 'Unknown code', 'UG', 'EG', 'ZM', 'TG', 'IN', 'LR', 'KM', 'MG', 'LS', 'BI', 'ZW', 'HT', 'BW', 'Unknown code', 'MW', 'YE', 'RW', 'Unknown code', 'AF', 'CF', 'SS']

我丢弃了所有未知代码,所以我只剩下已知代码。我想在地图上绘制这些代码,以便直观地了解数据的来源。有没有办法做到这一点?我尝试使用 pygal 无济于事。

感谢您给我的任何帮助和/或建议。如果您想尝试一下,请随意复制该国家/地区列表并组成一些随机整数值,看看您是否能够在地图上绘制与这些国家/地区标签相对应的值。此外,如果我可以只使用带有值(即 (8))的国家名称(即“孟加拉国”)并根据该值在地图上绘制色调,那也可以。

非常感谢!

看看 Plotly 和 Built-in Country and State Geometry

https://plotly.com/python/choropleth-maps/

您可以使用 this list of countries, codes and coordinates then plot your data on a map using any sophisticated plotting libraries, like matplotlib and cartopy, matplotlib and geopandas or – if you want the map interactive and/or for the web – plotly and mapbox 将您的 alpha_2 国家/地区代码映射到坐标。