2016-07-22 63 views
1

我刚刚开始使用Plotly,并决定放弃"World Choropleth Map",因为它看起来很简单。我使用的数据集在列中有两位数的国家代码,用于指定受访者来自哪个国家(例如,巴西的BR或德国的DE,也被称为ISO 3166-1 alpha-2 codes,我相信)。当我第一次设法运行该文件并将其加载到网络浏览器中,屏幕上没有出现地图,这让我感到非常困惑。我查看了示例csv并注意到它使用了three digit country codes(例如,意大利的ITA或瑞典的SWE,这些被称为ISO 3166-1 alpha 3 codes。)我制作了一个小测试集并将三位数代码应用于我的数据集和地图加载我输入的所有数据,全部在我指定的正确国家内。这使我相信默认情况下,choropleth会在数据中查找三位数的国家/地区代码,以便知道将数据放置在地图上的哪个位置。是否可以使Plotly choropleth使用ISO 3166-1 alpha-2国家/地区代码代替ISO 3166-1 alpha-3来映射国家/地区?

在我设置了一些可以循环使用我们收到的数据并将所有代码从2字母格式变为3字母格式之前,我想知道在Plotly choropleth中是否有一种简单的方法,可以指定什么你想要的国家代码的类型?

回答

0

检查下面的链接以获得2个字母到3个字母的映射。

http://www.nationsonline.org/oneworld/country_code_list.htm

Countrylet  2let 3let 
Afghanistan AF AFG 
Aland Islands AX ALA 

dfcountry = pd.read_csv('countryMap.txt',sep='\t') # mapping of 2 letter to 3 letter 

Country min avg  max 
    AD  5251 5251 5251 

dfData = pd.read_csv('myData.txt',sep='\t') # My Source data 

df = dfData.merge(dfcountry,how='inner',left_on=['Country'],right_on=['2let']) 

现在您可以使用3个国家代码。我在一个时间轴上,所以只是简单地剪了一下。希望这可以帮助。

+0

这里是完整的代码[Code Link git](https://github.com/gsnaveen/plotly-worldmap-mapping-2letter-CountryCode-to-3letter-country-code) – Nav

相关问题