2020年7月27日月曜日

Jupyterとwbdataで世界銀行の人口データから上位20国を棒グラフ表示する

Jupyterとwbdataで、世界銀行の人口データを取得して上位20国を棒グラフ表示します。
下記サンプルコードでは、2015年の人口を降順でソートして上位20を取得しています。

〇出力画面


サンプルコード

以下のコードをJupyterから実行してください。
%matplotlib inline
import matplotlib.pyplot as plt
import wbdata
import datetime 

country_codes = [
"IS",  "IE",  "AZ",  "AF",  "US",  "VI",  "AS",  "AE",  "DZ",  "AR", 
"AW",  "AL",  "AM",  "AI",  "AO",  "AG",  "AD",  "YE",  "GB",  "VG",  
"IL",  "IT",  "IQ",  "IR",  "IN",  "ID",  "UG",  "UA",  "UZ",  "UY",  
"EC",  "EG",  "EE",  "ET",  "ER",  "SV",  "AU",  "AT",  "OM",  "NL",  
"GH",  "CV",  "GY",  "KZ",  "QA",  "CA",  "GA",  "CM",  "GM",  "KH",  
"MP",  "GN",  "GW",  "CY",  "CU",  "CW",  "GR",  "KI",  "KG",  "GT",  
"GU",  "KW",  "GL",  "GE",  "GD",  "HR",  "KY",  "KE",  "CI",  "CR",  
"KM",  "CO",  "CG",  "CD",  "SA",  "WS",  "ST",  "ZM",  "SM",  "MF",  
"SL",  "DJ",  "GI",  "JE",  "JM",  "SY",  "SG",  "SX",  "ZW",  "CH",  
"SE",  "SD",  "ES",  "SR",  "LK",  "SK",  "SI",  "SZ",  "SC",  "GQ",  
"SN",  "RS",  "KN",  "VC",  "LC",  "SO",  "SB",  "TC",  "TH",  "KR",  
"TW",  "TJ",  "TZ",  "CZ",  "TD",  "CF",  "CN",  "TN",  "KP",  "CL",  
"TV",  "DK",  "DE",  "TG",  "DO",  "DM",  "TT",  "TM",  "TR",  "TO",  
"NG",  "NR",  "NA",  "NI",  "NE",  "JP",  "NC",  "NZ",  "NP",  "NO",  
"BH",  "HT",  "PK",  "PA",  "VU",  "BS",  "PG",  "BM",  "PW",  "PY",  
"BB",  "PS",  "HU",  "BD",  "TL",  "FJ",  "PH",  "FI",  "BT",  "PR",  
"FO",  "BR",  "FR",  "BG",  "BF",  "BN",  "BI",  "VN",  "BJ",  "VE",  
"BY",  "BZ",  "PE",  "BE",  "PL",  "BA",  "BW",  "BO",  "PT",  "HK",  
"HN",  "MH",  "MO",  "MK",  "MG",  "YT",  "MW",  "ML",  "MT",  "MY",  
"IM",  "FM",  "ZA",  "SS",  "MM",  "MX",  "MU",  "MR",  "MZ",  "MC",  
"MV",  "MD",  "MA",  "MN",  "ME",  "JO",  "LA",  "LV",  "LT",  "LY",  
"LI",  "LR",  "RO",  "LU",  "RW",  "LS",  "LB",  "RU"
]

data_date = datetime.datetime(2015, 1, 1), datetime.datetime(2015, 1, 1)
df = wbdata.api.get_dataframe({"SP.POP.TOTL":"Population"}, country=country_codes, data_date=data_date, convert_date=True, keep_levels=False)
df.sort_values('Population', ascending=False).head(20).plot.bar()
plt.legend(loc='best')
plt.show()

使用指標

SP.POP.TOTL
人口 - Population, total

参考情報

・世界銀行のデータを取得・可視化する記事のまとめは以下のページを参照してください。
世界銀行のデータを取得できるwbdataパッケージのまとめ

・人口を時系列で参照したい場合は、以下のページを参照してください。 Jupyterとwbdataで世界銀行の人口データを取得する

0 件のコメント:

コメントを投稿