2018年12月17日月曜日

Jupyterとpandasdmxを使用して、OECDのコンテナ輸送データを取得する

Jupyterとpandasdmxを使用して、OECDのコンテナ輸送(Containers transport)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="GRC+BGR+DEU"
data_response = oecd.data(resource_id='ITF_GOODS_TRANSPORT', key=countries + ".T-CONT-RL-TEU/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=['TEU']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "TEU"]]
df.set_index(["COUNTRY", "TIME_PERIOD"], inplace=True)
ax = df.unstack(level=0).plot()
plt.xticks(rotation=90)
plt.legend(loc='best')
plt.show()

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


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

Jupyterとwbdataで世界銀行の鉄道総距離データを取得する

Jupyterとwbdataで、世界銀行の鉄道総距離(km)データを取得して、グラフ描画します。

〇出力画面


使用指標

IS.RRS.TOTL.KM
鉄道総距離(km) - Rail lines (total route-km)

サンプルコード

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

df = wbdata.api.get_dataframe({"IS.RRS.TOTL.KM":"Rail lines"}, 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月16日日曜日

Raspberry Pi(Raspbian Stretch)にStellariumをインストールする

Stellariumはパソコン上で星座を表示できるプラネタリウムソフトです。

〇Stellariumの画面

アプリケーションメニューの「教育・教養」→「Stellarium」を選択します。

インストール方法

シェルから以下のコマンド実行します
sudo apt-get -y install stellarium

関連情報

・Stellariumに関する他の記事はこちらを参照してください。

・Stellariumのプロジェクトwebサイト
https://stellarium.org/ja/

Raspberry Pi(Raspbian Stretch/Buster)にRemminaをインストールする

RemminaでWindowsやXRDPをインストールしたマシンにリモートデスクトップ接続することができます。

〇Remminaの画面

アプリケーションメニューの「インターネット」→「Remmina」を選択します。

〇インストール方法
シェルから以下のコマンド実行します
sudo apt-get -y install remmina


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

○更新情報
2020/03/24: Raspbian Busterでも同様にインストールできます。

Jupyterとpandasdmxを使用して、OECDの内航海運データを取得する

Jupyterとpandasdmxを使用して、OECDの内航海運データ(Coastal shipping)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+USA+AUS"
data_response = oecd.data(resource_id='ITF_GOODS_TRANSPORT', key=countries + ".T-SEA-CAB/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 Tonnes-kilometres']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Millions Tonnes-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()

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


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

Jupyterとwbdataで世界銀行の女性人口データを取得する

Jupyterとwbdataで、世界銀行の女性人口データを取得して時系列グラフを描画します。

〇出力画面


使用指標

SP.POP.TOTL.FE.IN
女性人口 - Population, female

サンプルコード

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

df = wbdata.api.get_dataframe({"SP.POP.TOTL.FE.IN":"Population, female"}, 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月15日土曜日

DockerでAtomとXfceデスクトップ環境がインストールされたイメージを(Ubuntu18.04)を作成する

Atomはオープンソースの開発者向けのテキストエディターです。

〇Atomの画面

Remote Desktop Clientから接続するときにユーザ名/パスワードにubuntu/ubuntuを指定します。

〇イメージのビルド
docker build -t ub1804xfceatom .

Dockerfile
from ubuntu:18.04

run sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list \
  && apt-get update \
  && apt-get install -y language-pack-ja-base language-pack-ja \
  && ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime \
  && echo 'Asia/Tokyo' > /etc/timezone \
  && locale-gen ja_JP.UTF-8 \
  && echo 'LC_ALL=ja_JP.UTF-8' > /etc/default/locale \
  && echo 'LANG=ja_JP.UTF-8' >> /etc/default/locale
env LANG=ja_JP.UTF-8 \
   LANGUAGE=ja_JP.UTF-8 \
   LC_ALL=ja_JP.UTF-8
run DEBIAN_FRONTEND=noninteractive apt-get -y install \
      xubuntu-desktop \
      xrdp=0.9.5-2 \
      fcitx-mozc \
      fonts-ipafont-gothic \
      fonts-ipafont-mincho \
      vim \
      gvfs-bin \
      git \
      xdg-utils \
  && wget https://github.com/atom/atom/releases/download/v1.33.0/atom-amd64.deb \
  && dpkg -i atom-amd64.deb \
  && im-config -n fcitx \
  && apt-get clean \
  && rm -rf /var/cache/apt/archives/* \
  && rm -rf /var/lib/apt/lists/* \
  && groupadd -g 1000 ubuntu \
  && useradd -d /home/ubuntu -m -s /bin/bash -u 1000 -g 1000 ubuntu \
  && echo 'ubuntu:ubuntu' | chpasswd \
  && echo "ubuntu ALL=NOPASSWD: ALL" >> /etc/sudoers \
  && echo 'sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/ubuntu/.config/fcitx/profile' >> /home/ubuntu/.xsessionrc \
  && chown ubuntu:ubuntu /home/ubuntu/.xsessionrc \
  && echo 'xfce4-session' >> /home/ubuntu/.xsession \
  && mkdir /home/ubuntu/data \
  && chown -R ubuntu:ubuntu /home/ubuntu/data \
  && echo '#!/bin/bash' > /start.sh \
  && echo 'export GTK_IM_MODULE=fcitx' > /start.sh \
  && echo 'export QT_IM_MODULE=fcitx' >> /start.sh \
  && echo 'export XMODIFIERS="@im=fcitx"' >> /start.sh \
  && echo 'startxfce4' >> /start.sh \
  && echo 'sudo /etc/init.d/xrdp start' >> /start.sh \
  && echo 'sudo /etc/init.d/dbus start' >> /start.sh \
  && echo 'fcitx -r -d &' >> /start.sh \
  && echo '/bin/bash' >> /start.sh \
  && chmod +x /start.sh

expose 3389
volume ["/home/ubuntu/data"]
cmd /start.sh

〇コンテナの実行
docker run -it -v `pwd`:/home/ubuntu/work -p 3389:3389 -u ubuntu ub1804xfceatom


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