是否可以使 Plotly choropleth 使用 ISO 3166-1 alpha-2 国家/地区代码而不是 ISO 3166-1 alpha-3 来绘制国家/地区地图?

Clu*_*sks 3 python plotly

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

在我设置循环我们收到的数据并将所有代码从 2 字母格式更改为 3 字母格式之前,我想知道 Plotly choropleths 中是否有一种简单的方法可以让您指定国家/地区代码类型你要?

小智 6

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

\n\n

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

\n\n
Countrylet     2let  3let  \nAfghanistan    AF    AFG  \nAland Islands  AX    ALA \n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc2\xa0

\n\n
dfcountry = pd.read_csv(\'countryMap.txt\',sep=\'\\t\') # mapping of 2 letter to 3 letter\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc2\xa0

\n\n
    Country  min    avg     max\n    AD       5251   5251    5251\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xc2\xa0

\n\n
dfData = pd.read_csv(\'myData.txt\',sep=\'\\t\') # My Source data\n\ndf = dfData.merge(dfcountry,how=\'inner\',left_on=[\'Country\'],right_on=[\'2let\'])\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在您可以使用 3 个字符的国家/地区代码。我当时的时间安排很紧,所以就走了捷径。希望这可以帮助。

\n