2018年12月31日月曜日

VagrantでKrita、Xfce Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

Kritaはオープンソースのペイントソフトです

○Kritaの画面


○構築方法
以下のVagrantfileを使用して、Krita、Xfce Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95xfcekrita"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
config.vm.network "private_network", ip: "192.168.55.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95xfcekrita"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF

cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
#startxfce4 &
EOF
chown vagrant:vagrant .xsessionrc

apt-get -y install  xrdp fcitx-mozc task-xfce-desktop tigervnc-standalone-server
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"

cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | gawk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install Krita
mkdir -p /opt/krita
cd /opt/krita
wget https://download.kde.org/stable/krita/4.1.5/krita-4.1.5-x86_64.appimage
chmod +x krita-4.1.5-x86_64.appimage

cat << EOF > /usr/share/applications/krita.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/krita/krita-4.1.5-x86_64.appimage
Name=Krita
Categories=Development;
EOF

init 5
SHELL
end


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

Jupyterとpandasdmxを使用して、OECDの総国内交通インフラ投資(住民一人あたりのUSD額)データを取得する

Jupyterとpandasdmxを使用して、OECDの総国内交通インフラ投資(住民一人あたりのUSD額)(=Total inland transport infrastructure investment in USD per inhabitant)データを取得しグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+GBR+USA"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-INV-PC/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=['transport infrastructure investment']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "transport infrastructure investment"]]
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で、国別年別の食料生産指数(2004-2006年比)を取得して、グラフ描画します。

〇出力画面


使用指標

AG.PRD.FOOD.XD
食料生産指数(2004-2006年比) - Food production index (2004-2006 = 100)

サンプルコード

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

df = wbdata.api.get_dataframe({"AG.PRD.FOOD.XD":"Food production index"}, country=["JP","US", "VN"], 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月30日日曜日

VagrantでgEDA、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

gEDAで回路図やプリント基盤をデザインする事ができます。
この仮想マシンにgEDAの他に、XRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇gEDAの画面


〇構築方法
以下のVagrantfileを使用して、gEDA、LXDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95lxdegeda"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95lxdegeda"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession


apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools


apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install gEDA
apt-get -y install geda pcb gerbv


init 5
SHELL
end


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

Jupyterとpandasdmxを使用して、OECDの国内水路インフラ投資GDP比データを取得する

Jupyterとpandasdmxを使用して、OECDの国内水路インフラ投資GDP比(Inland waterways infrastructure investment per GDP)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="RUS+BEL+ITA"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-IWINV-GDP/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=['Waterways infrastructure investment']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Waterways infrastructure investment"]]
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で、国別年別の肥料消費(耕地のヘクタールあたりkg)を取得して、グラフ描画します。

〇出力画面


使用指標

AG.CON.FERT.ZS
国別年別の肥料消費(耕地のヘクタールあたりkg) - Fertilizer consumption (kilograms per hectare of arable land)

サンプルコード

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

df = wbdata.api.get_dataframe({"AG.CON.FERT.ZS":"Fertilizer consumption"}, country=["JP","US", "VN"], 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月29日土曜日

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

PyCharmはPython用のIDEです。

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


イメージのビルド

docker build -t ub1804xfcepycharm201832 .

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://download.jetbrains.com/python/pycharm-community-2018.3.2.tar.gz \
  && tar xvfz pycharm-community-2018.3.2.tar.gz \
  && mv pycharm-community-2018.3.2 /opt/pycharm-community \
  && echo '[Desktop Entry]' >> /usr/share/applications/pycharm.desktop \
  && echo 'Version=1.0' >> /usr/share/applications/pycharm.desktop \
  && echo 'Type=Application' >> /usr/share/applications/pycharm.desktop \
  && echo 'Terminal=false' >> /usr/share/applications/pycharm.desktop \
  && echo 'Exec=/opt/pycharm-community/bin/pycharm.sh' >> /usr/share/applications/pycharm.desktop \
  && echo 'Name=PyCharm' >> /usr/share/applications/pycharm.desktop \
  && echo 'Icon=/opt/pycharm-community/bin/pycharm.png' >> /usr/share/applications/pycharm.desktop \
  && echo 'Categories=Development;' >> /usr/share/applications/pycharm.desktop \
  && 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 ub1804xfcepycharm201832

関連情報

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

VagrantでRAWGraphsがインストールされた仮想マシン(Ubuntu18.04)を構築する

RAWGraphsでCSVなどのデータを簡単に可視化する事ができます。

○RAWGraphsの画面


○構築方法
以下のVagrantfileを使用して、RAWGraphsがインストールされた仮想マシン(Ubuntu18.04)を構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/ubuntu-18.04"
  config.vm.hostname = "ub1804rawgraphs"
config.vm.network "private_network", ip: "192.168.55.104", :netmask => "255.255.255.0"
config.vm.network :public_network, ip:"192.168.1.104"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "ub1804rawgraphs"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 2048
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
apt-get -y install language-pack-ja
sed -i.bak -e "s#http://archive.ubuntu.com/ubuntu/#http://ftp.riken.jp/pub/Linux/ubuntu/#g" /etc/apt/sources.list
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update

apt-get -y install curl git

mkdir -p /opt/rawgraph
cd /opt/rawgraph

# install nodejs11
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs
node -v

# install nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
export NVM_DIR="/root/.nvm"
source /root/.bashrc
nvm --version

# install bower
npm install -g bower
bower -v

# install rawgraphs
git clone https://github.com/densitydesign/raw.git
cd raw
bower install --allow-root
cp js/analytics.sample.js js/analytics.js


# register as a service
cat << EOF > /etc/systemd/system/rawgraph.service
[Unit]
Description=rawgraph
[Service]
Type=simple
ExecStart=/usr/bin/python -m SimpleHTTPServer 4000
WorkingDirectory=/opt/rawgraph/raw
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable rawgraph
sudo systemctl start rawgraph

SHELL
end


○関連情報
・csvkitを使用して、CSVファイルの操作をコマンドで行うことができます。csvkitに関する記事はこちらを参照してください。

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

Jupyterとpandasdmxを使用して、OECDの道路インフラ投資GDP比データを取得する

Jupyterとpandasdmxを使用して、OECDの道路インフラ投資GDP比(Road infrastructure investment per GDP)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+CAN+AUS"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-RLINV-GDP/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=['Road infrastructure investment']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Road infrastructure investment"]]
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で、国別年別の作物生産指数(2004-2006年比)を取得して、グラフ描画します。

〇出力画面


使用指標

AG.PRD.CROP.XD
作物生産指数(2004-2006年比) - Crop production index (2004-2006 = 100)

サンプルコード

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

df = wbdata.api.get_dataframe({"AG.PRD.CROP.XD":"Crop production index"}, country=["JP","US", "MY"], 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月28日金曜日

VagrantでTagSpaces、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

TagSpacesを使用して、タグを活用した文書管理を行うことができます。

〇TagSpacesの画面


仮想マシンの構築方法

以下のVagrantfileを使用して、TagSpaces、LXDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95lxdetagspaces"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95lxdetagspaces"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession


apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools


apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install TagSpaces
apt-get -y install libappindicator1
wget https://www.tagspaces.org/downloads/tagspaces-amd64.deb
dpkg -i tagspaces-amd64.deb


init 5
SHELL
end

関連情報

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

・TagSpacesのgithubリポジトリ
https://github.com/tagspaces/tagspaces

Jupyterとpandasdmxを使用して、OECDの鉄道インフラ投資GDP比データを取得する

Jupyterとpandasdmxを使用して、OECDの鉄道インフラ投資GDP比(Rail infrastructure investment per GDP)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+GBR+BGR"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-RLINV-GDP/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=['Rail infrastructure investment']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Rail infrastructure investment"]]
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で、国別年別の女性農業就業率を取得して、グラフ描画します。

〇出力画面


使用指標

SL.AGR.EMPL.FE.ZS
女性農業就業率 - Employment in agriculture, female (% of female employment)

サンプルコード

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

df = wbdata.api.get_dataframe({"SL.AGR.EMPL.FE.ZS":"Percent"}, country=["JP","US", "MY"], 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月27日木曜日

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/81235bd9-465d-4154-98f3-09c01eca9792/resource/3b2bdd1c-cb8e-4f47-94ae-049a5d71eb2d/download/20151029105616.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/kouen

Jupyterとpandasdmxを使用して、OECDの総国内交通インフラ投資GDP比データを取得する

Jupyterとpandasdmxを使用して、OECDの総国内交通インフラ投資GDP比(Total inland transport infrastructure investment per GDP)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+GBR+USA"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-INV-GDP/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=['transport infrastructure investment']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "transport infrastructure investment"]]
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で、国別年別の鉱石・金属輸出(商品輸出比)データを取得して、グラフ描画します。

〇出力画面


使用指標

TX.VAL.MMTL.ZS.UN
鉱石・金属輸出(商品輸出比) - Ores and metals exports (% of merchandise exports)

サンプルコード

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

df = wbdata.api.get_dataframe({"TX.VAL.MMTL.ZS.UN":"Percent of ores and metals exports"}, 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月26日水曜日

VagrantでJoplin、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

JoplinでノートやTODOリストの管理をする事ができます。

〇Joplinの画面


構築方法

以下のVagrantfileを使用して、Joplin、LXDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95lxdejoplin"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95lxdejoplin"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession


apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools


apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install joplin
mkdir -p /opt/joplin
cd /opt/joplin
wget https://github.com/laurent22/joplin/releases/download/v1.0.114/Joplin-1.0.114-x86_64.AppImage
chmod +x Joplin-1.0.114-x86_64.AppImage


cat << EOF > /usr/share/applications/joplin.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/joplin/Joplin-1.0.114-x86_64.AppImage
Name=Joplin
Categories=Office;
EOF


init 5
SHELL
end

関連情報

・プロジェクトgithubリポジトリ
https://github.com/laurent22/joplin

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

・タグで文書などを管理したい場合は、TagSpacesもいい選択肢です。

Jupyterとpandasdmxを使用して、OECDの住民100万人あたりの空港数データを取得する

Jupyterとpandasdmxを使用して、OECDの住民100万人あたりの空港数(Airports per one million habitants)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+GBR+USA"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-AIR-PC/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=['Airports per 1M habitants']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Airports per 1M habitants"]]
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で、国別年別の陸地・海洋保護地域(総保護地域比)データを取得して、グラフ描画します。

〇出力画面


使用指標

ER.PTD.TOTL.ZS
陸地・海洋保護地域(総保護地域比) - Terrestrial and marine protected areas (% of total territorial area)

サンプルコード

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

df = wbdata.api.get_dataframe({"ER.PTD.TOTL.ZS":"Terrestrial and marine protected areas"}, 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月25日火曜日

VagrantでAnki2.1.5、KDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

Ankiを使用して暗記カードのように繰り返し学習を行う事ができます。

〇Ankiの画面


〇構築方法
以下のVagrantfileを使用して、Anki、KDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95kdeanki215"
config.vm.network "public_network", ip:"192.168.1.104", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95kdeanki215"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
#DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsessionrc
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=mozc:True,fcitx-keyboard-jp:False,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
EOF
chown vagrant:vagrant .xsessionrc


apt-get -y install  xrdp fcitx-mozc task-kde-desktop tigervnc-standalone-server fcitx-tools

apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
#sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install Anki
apt-get -y install mplayer
wget https://apps.ankiweb.net/downloads/current/anki-2.1.5-linux-amd64.tar.bz2
tar jxf anki-2.1.5-linux-amd64.tar.bz2
mv anki-2.1.5-linux-amd64 /opt/anki
chown -R vagrant:vagrant /opt/anki
sed -i -e 's#Exec=anki#Exec=/opt/anki/bin/anki#' /opt/anki/anki.desktop
sed -i -e 's#Icon=anki#Icon=/opt/anki/anki.png#' /opt/anki/anki.desktop
cp /opt/anki/anki.desktop /usr/share/applications


init 5
SHELL
end

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

Jupyterとpandasdmxを使用して、OECDの10万平方キロメートルあたりの空港数データを取得する

Jupyterとpandasdmxを使用して、OECDの10万平方キロメートルあたりの空港数(Airports per one hundred thousand sq.km)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+GBR+DEU"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-AIR-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=['Airports per 100K sq.km']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Airports per 100K sq.km"]]
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で、国別年別の総貯蓄(GDP比)データを取得して、グラフ描画します。

〇出力画面


使用指標

NY.GNS.ICTR.ZS
総貯蓄(GDP比) - Gross savings (% of GDP)

サンプルコード

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

df = wbdata.api.get_dataframe({"NY.GNS.ICTR.ZS":"Percent of gross savings"}, 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月24日月曜日

VagrantでLibrePCB、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

LibrePCBでプリント基盤をデザインする事ができます。
この仮想マシンにLibrePCBの他に、XRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇LibrePCBの画面


〇構築方法
以下のVagrantfileを使用して、LibrePCB、LXDE Desktop環境、XRDPをインストールした仮想マシンを構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95lxdelibrepcb"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95lxdelibrepcb"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession


apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools


apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install LibrePCB
mkdir -p /opt/librepcb
cd /opt/librepcb
wget https://download.librepcb.org/releases/0.1.0-rc1/librepcb-0.1.0-rc1-linux-x86_64.AppImage
chmod +x librepcb-0.1.0-rc1-linux-x86_64.AppImage

cat << EOF > /usr/share/applications/librepcb.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/opt/librepcb/librepcb-0.1.0-rc1-linux-x86_64.AppImage
Name=LibrePCB
Categories=Development;
EOF


init 5
SHELL
end


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

Jupyterとpandasdmxを使用して、OECDの全鉄道網に対する高速鉄道割合データを取得する

Jupyterとpandasdmxを使用して、OECDの全鉄道網に対する高速鉄道割合(Share of high-speed rail lines in total rail network)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+ITA+DEU"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-HRAIL-SHARE/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=['Share of high-speed rail lines']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Share of high-speed rail lines"]]
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で、国別年別の女性の中等学校進学率データを取得して、グラフ描画します。

〇出力画面


使用指標

SE.SEC.PROG.FE.ZS
女性の中等学校進学率データ(全体比) - Progression to secondary school, female (%)

サンプルコード

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

df = wbdata.api.get_dataframe({"SE.SEC.PROG.FE.ZS":"Progression to secondary school"}, country=["JP","MY", "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月23日日曜日

VagrantでRStudio、LXDE Desktop環境、XRDPがインストールされた仮想マシン(Debian Stretch/9.5)を構築する

RStudioはR言語のIDEです。

〇RStudioの画面


〇構築方法
以下のVagrantfileを使用して、RStudio、LXDE Desktop環境、XRDPをインストールした仮想マシン(Debian Stretch/9.5)を構築できます。
XRDPがインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/debian-9.5"
  config.vm.hostname = "db95lxderstudio"
config.vm.network "public_network", ip:"192.168.1.103", :netmask => "255.255.255.0"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "db95lxderstudio"
     vbox.gui = true
     vbox.cpus = 2
     vbox.memory = 2048
  end
  config.vm.provision "shell", inline: <<-SHELL
apt-get update
DEBIAN_FRONTEND=noninteractive apt-get -y -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade

apt-get -y install task-japanese gawk
sed -i -e 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/' /etc/locale.gen
locale-gen
update-locale LANG=ja_JP.UTF-8
localectl set-locale LANG=ja_JP.UTF-8
localectl set-keymap jp106
apt-get update
cat << EOF > /etc/default/keyboard
XKBMODEL="pc106"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS=""
BACKSPACE="guess"
EOF


cat << EOF > /home/vagrant/.xsession
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
sed -i -e "s/^EnabledIMList.*$/EnabledIMList=fcitx-keyboard-jp:True,mozc:True,fcitx-keyboard-us:False/" /home/vagrant/.config/fcitx/profile
fcitx-remote -r
fcitx -r -d
lxsession -s LXDE -e LXDE
EOF
chown vagrant:vagrant .xsession


apt-get -y install  xrdp fcitx-mozc task-lxde-desktop tigervnc-standalone-server fcitx-tools


apt-get -y install build-essential module-assistant dkms
wget http://download.virtualbox.org/virtualbox/5.2.6/VBoxGuestAdditions_5.2.6.iso
mount -o loop -t iso9660 VBoxGuestAdditions_5.2.6.iso /media/
/media/VBoxLinuxAdditions.run


export DISPLAY=:0.0
im-config -n fcitx
sudo -u vagrant bash -i -c "export DISPLAY=:0.0 && fcitx -r"


cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.org
cat /etc/xrdp/xrdp.ini.org | awk '/\\[Globals\\]/,/\\[Xorg\\]/' | sed -e 's/\\[Xorg\\]//' > /etc/xrdp/xrdp.ini
cat << EOF >> /etc/xrdp/xrdp.ini
[Xvnc]
name=Xvnc
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
EOF
systemctl restart xrdp
systemctl enable xrdp


# install R and RStudio
apt-get update
apt-get -y install r-base r-base-dev libatlas3-base
apt-get -y install libjpeg62
wget https://download1.rstudio.org/rstudio-xenial-1.1.463-amd64.deb
dpkg -i rstudio-xenial-1.1.463-amd64.deb


init 5
SHELL
end


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

VagrantでNodeBox 3、Xfce Desktop環境、XRDPがインストールされた仮想マシン(CentOS7.5)を構築する

NodeBox 3で効率的にデータの可視化を行うことができます。
XRDPもインストールされているので、Windowsのリモートデスクトップで接続することができます。ユーザ名はvagrant、パスワードもvagrantでログオンできます。

〇NodeBox3の画面

※初回実行は時間がかかります。

〇構築方法
以下のVagrantfileを使用して、NodeBox 3、Xfce Desktop環境、XRDPをインストールした仮想マシンを構築できます。

Vagrantfile
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.box = "bento/centos-7.5"
  config.vm.hostname = "co75xfcenodebox"
  config.vm.provider :virtualbox do |vbox|
     vbox.name = "co75xfcenodebox"
     vbox.gui = true
     vbox.cpus = 4
     vbox.memory = 4096
     vbox.customize ["modifyvm", :id, "--nicpromisc2","allow-all"]
  end
config.vm.network "public_network", ip: "192.168.1.116", :netmask => "255.255.255.0"
  config.vm.provision "shell", inline: <<-SHELL
localectl set-locale LANG=ja_JP.UTF-8
yum install -y epel-release
yum check-update
yum -y update

yum -y groupinstall yum groupinstall "X Window System"  Xfce "Input Methods"
yum -y install vlgothic-*  ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts xrdp unzip

cat << EOF >> /home/vagrant/.Xclients
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -drx
exec /usr/bin/xfce4-session
EOF
chmod +x /home/vagrant/.Xclients
chown vagrant:vagrant /home/vagrant/.Xclients

# hide dialogs
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-welcome-tour.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-software-service.desktop"
sudo sh -c "echo 'X-GNOME-Autostart-enabled=false' >> /etc/xdg/autostart/gnome-settings-daemon.desktop"
sudo systemctl disable initial-setup-graphical.service
sudo systemctl disable initial-setup-text.service

systemctl set-default graphical.target

systemctl enable xrdp.service
systemctl start xrdp.service

# install NodeBox
yum -y install java-1.8.0-openjdk ant git
cd /opt
git clone git://github.com/nodebox/nodebox.git
cd /opt/nodebox
ant compile
ant bindir

cat << EOF > /usr/share/applications/nodebox.desktop
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/usr/bin/ant -f /opt/nodebox/build.xml run
Icon=/opt/nodebox/artwork/nodebox-icon.svg
Name=nodebox
Categories=Development;
EOF

telinit 5
SHELL
end

Jupyterとpandasdmxを使用して、OECDの全鉄道網に対する電化鉄道割合データを取得する

Jupyterとpandasdmxを使用して、OECDの全鉄道網に対する電化鉄道割合(Share of electrified rail lines in total rail network)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+ITA+BGR"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-ERAIL-SHARE/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=['Share of electrified rail lines']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Share of electrified rail lines"]]
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で、国別年別の男性の中等学校進学率データを取得して、グラフ描画します。

〇出力画面


使用指標

SE.SEC.PROG.MA.ZS
男性の中等学校進学率データ(全体比) - Progression to secondary school, male (%)

サンプルコード

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

df = wbdata.api.get_dataframe({"SE.SEC.PROG.MA.ZS":"Progression to secondary school"}, country=["JP","MY", "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月22日土曜日

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

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

〇出力グラフ


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

oecd = Request('OECD')
countries="ITA+USA+JPN"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-RAIL-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 rail lines']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Density of rail lines"]]
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と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/fef58c85-c116-4dfd-8e48-3b865b9bc31d/resource/9a45cb42-9a72-450d-80b3-82562a45f0f7/download/2015102910531.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/kyouiku

Jupyterとwbdataで世界銀行の65歳以上人口データを取得する

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

〇出力画面


使用指標

SP.POP.65UP.TO.ZS
65歳以上人口(全体比) - Population ages 65 and above (% of total)

サンプルコード

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

df = wbdata.api.get_dataframe({"SP.POP.65UP.TO.ZS":"Population ages 65 and above"}, 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月21日金曜日

Jupyterとpandasdmxを使用して、OECDの全道路網に対する高速道路割合データを取得する

Jupyterとpandasdmxを使用して、OECDの全道路網に対する高速道路割合(Share of motorways in total road network)データを取得してグラフ表示するには、以下のコードを実行します。

〇出力グラフ


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

oecd = Request('OECD')
countries="JPN+ITA+NLD"
data_response = oecd.data(resource_id='ITF_INDICATORS', key=countries + ".IND-INFR-MOTWAYS-SHARE/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=['Share of motrorways']
df = df.reset_index()
df = df[["COUNTRY", "TIME_PERIOD", "Share of motrorways"]]
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で世界銀行の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