微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

有没有办法采用两个国家的字母字母代码并将其显示在地图上?

如何解决有没有办法采用两个国家的字母字母代码并将其显示在地图上?

我有一个带有国家名称和对应于它们的值的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)  

哪个返回此:

['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','CL','GT','SA','QA','ES','PA','BR','UY','SG','SV','IT','BH','SK','PL','UZ','LT','CO','SI','NI','AR','RO','CY','EC','KW','TH','LV','EE','JM','MU','JP','HN','KZ','HU','PY','PE','PT','PK','PH','RS','LY','ME','TJ','HR','HK','DO','BA','TR','MY','BY','GR','MN','MK','NG','KG','TM','DZ','MA','AZ','LB','ID','CN','BT','CM','BG','GH','NP','JO','BJ','GA','ZA','AL','KH','SN','SO','NA','NE','BF','AM','GN','GE','GM','KE','MR','MZ','TN','BD','IQ','ML','SL','LK','MM','TD','UA','ET','UG','EG','ZM','TG','IN','LR','KM','MG','LS','BI','ZW','HT','BW','MW','YE','RW','AF','CF','SS']

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

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

非常感谢!

解决方法

您可以使用this list of countries,codes and coordinates将alpha_2国家代码映射到坐标,然后使用matplotlib and cartopymatplotlib and geopandas等复杂的绘图库在地图上绘制数据,或者-如果需要地图交互式和/或网络-plotly and mapbox

,

看看情节和内置的国家和州的几何形状

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。