2018年12月21日金曜日

Jupyterとwbdataで世界銀行の15-64歳人口データを取得する

Jupyterとwbdataで、国別年別の15-64歳人口データを取得して、グラフ描画します。

〇出力画面


使用指標

SP.POP.1564.TO.ZS
15-64歳人口(全体比) - Population ages 15-64 (% of total)

サンプルコード

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

df = wbdata.api.get_dataframe({"SP.POP.1564.TO.ZS":"Population ages 15-64"}, country=["JP","US", "IN"], convert_date=True)
df.unstack(level=0).plot()
plt.legend(loc='best')
plt.show()

関連情報

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

・wbdataパッケージをインストールしたコンテナを作成するには、以下のページを参照してください。
DockerでJupyter Notebookと世界銀行の情報が取得できるwbdataパッケージがインストールされたコンテナのイメージを作成する

・コンテナではなく、仮想マシンを構築する場合は、以下を参照します。
VagrantでJupyter Lab、wbdata、BokehとMariaDBをインストールした仮想マシン(Ubuntu18.04)を構築する

・世界銀行のデータを取得することができるwbdataパッケージに関する他の記事はこちらを参照してください。

2018年12月20日木曜日

Jupyterとpandasdmxを使用して、OECDの道路密度データを取得する

Jupyterとpandasdmxを使用して、OECDの道路密度(Density of road, km per one hundred sq.km)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


〇コード
from pandasdmx import Request
import matplotlib.pyplot as plt

oecd = Request('OECD')
countries="JPN+USA+NLD"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-ROAD-DENS/all?startTime=2000&endTime=2016")
oecd_data = data_response.data

df = data_response.write(oecd_data.series, parse_time=True)
df = df.unstack(level=0).to_frame()
df.columns=['Density of road']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Density of road"]]
df.set_index(["COUNTRY", "TIME_PERIOD"], inplace=True)
ax = df.unstack(level=0).plot()
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()

〇元データ
Indicators
https://stats.oecd.org/Index.aspx?DataSetCode=ITF_INDICATORS


○関連情報
・Pandasdmxに関する他の記事はこちらを参照してください。

Jupyterとwbdataで世界銀行の女性平均寿命を取得する

Jupyterとwbdataで、国別年別の女性平均寿命を取得して、グラフ描画します。

〇出力画面


使用指標

SP.DYN.LE00.FE.IN
女性平均寿命 - Life expectancy at birth, female (years)

サンプルコード

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

df = wbdata.api.get_dataframe({"SP.DYN.LE00.FE.IN":"years"}, country=["JP","US", "AU"], convert_date=True)
df.unstack(level=0).plot()
plt.legend(loc='best')
plt.show()

関連情報

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

・wbdataパッケージをインストールしたコンテナを作成するには、以下のページを参照してください。
DockerでJupyter Notebookと世界銀行の情報が取得できるwbdataパッケージがインストールされたコンテナのイメージを作成する

・コンテナではなく、仮想マシンを構築する場合は、以下を参照します。
VagrantでJupyter Lab、wbdata、BokehとMariaDBをインストールした仮想マシン(Ubuntu18.04)を構築する

・世界銀行のデータを取得することができるwbdataパッケージに関する他の記事はこちらを参照してください。

2018年12月19日水曜日

Jupyterとpandasdmxを使用して、OECDの道路人身事故データを取得する

Jupyterとpandasdmxを使用して、OECDの道路人身事故(Road injury accidents)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


〇コード
from pandasdmx import Request
import matplotlib.pyplot as plt

oecd = Request('OECD')
countries="JPN+USA+IND"
data_response = oecd.data(resource_id='ITF_ROAD_ACCIDENTS', key=countries + ".T-ACCI-TOT/all?startTime=1970&endTime=2016")
oecd_data = data_response.data

df = data_response.write(oecd_data.series, parse_time=True)
df = df.unstack(level=0).to_frame()
df.columns=['Injury accident']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Injury accident"]]
df.set_index(["COUNTRY", "TIME_PERIOD"], inplace=True)
ax = df.unstack(level=0).plot()
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()

〇元データ
Road injury accidents
https://stats.oecd.org/Index.aspx?DataSetCode=ITF_ROAD_ACCIDENTS


○関連情報
・Pandasdmxに関する他の記事はこちらを参照してください。

Jupyterとwbdataで世界銀行の純エネルギー輸入データを取得する

Jupyterとwbdataで、世界銀行の純エネルギー輸入(エネルギー使用比)を取得して、グラフ描画します。

〇出力画面


使用指標

EG.IMP.CONS.ZS
純エネルギー輸入(エネルギー使用比) - Energy imports, net (% of energy use)

サンプルコード

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

df = wbdata.api.get_dataframe({"EG.IMP.CONS.ZS":"Energy imports"}, country=["JP","US", "DE"], convert_date=True)
df.unstack(level=0).plot()
plt.legend(loc='best')
plt.show()

関連情報

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

・wbdataパッケージをインストールしたコンテナを作成するには、以下のページを参照してください。
DockerでJupyter Notebookと世界銀行の情報が取得できるwbdataパッケージがインストールされたコンテナのイメージを作成する

・コンテナではなく、仮想マシンを構築する場合は、以下を参照します。
VagrantでJupyter Lab、wbdata、BokehとMariaDBをインストールした仮想マシン(Ubuntu18.04)を構築する

・世界銀行のデータを取得することができるwbdataパッケージに関する他の記事はこちらを参照してください。

2018年12月18日火曜日

Jupyterとpandasdmxを使用して、OECDの国内乗客輸送データを取得する

Jupyterとpandasdmxを使用して、OECDの国内乗客輸送(Inland passenger transport)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


〇コード
from pandasdmx import Request
import matplotlib.pyplot as plt

oecd = Request('OECD')
countries="JPN+USA+AUS"
data_response = oecd.data(resource_id='ITF_PASSENGER_TRANSPORT', key=countries + ".T-PASS-TOT-INLD/all?startTime=2000&endTime=2016")
oecd_data = data_response.data

df = data_response.write(oecd_data.series, parse_time=True)
df = df.unstack(level=0).to_frame()
df.columns=['Millions Passenger-kilometres']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Millions Passenger-kilometres"]]
df.set_index(["COUNTRY", "TIME_PERIOD"], inplace=True)
ax = df.unstack(level=0).plot()
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()

〇元データ
Passenger transport
https://stats.oecd.org/Index.aspx?DataSetCode=ITF_PASSENGER_TRANSPORT


○関連情報
・Pandasdmxに関する他の記事はこちらを参照してください。

2018年12月17日月曜日

Jupyterとpandas、foliumで埼玉県和光市の公共施設(福祉施設)を地図に描画する

Jupyterとpandas、foliumを使用して、以下のコードで埼玉県和光市の公共施設(福祉施設)を地図に描画する事ができます。

〇出力画面


〇サンプルコード
import folium
import pandas as pd
import math

df = pd.read_csv("https://opendata.pref.saitama.lg.jp/data/dataset/de35f039-a946-4c32-b096-61555ab6662b/resource/08e620c1-3def-4ad3-b818-c32bc8625fed/download/20151029105928.csv", encoding="cp932")
#display(df)
fm = folium.Map(location=[35.781208, 139.605793], zoom_start=13)

for i, dt in df.iterrows():
  if not math.isnan(dt['緯度']):
    folium.Marker(location=[dt['緯度'], dt['経度']], popup=dt['施設名']).add_to(fm)
fm

〇元データ
【和光市】公共施設(福祉施設)
https://opendata.pref.saitama.lg.jp/data/dataset/fukusisisetu