2016-07-22 132 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

相關問題