Google Colaboratory

はじめての Google Colab

Google Colaboratory(グーグル・コラボラトリー、略称 Google Colab(コラブ))を使えば Web 上で Python が使えます。ただし、Google のアカウントが必要です。無料です(有料版もあります)。

古いブラウザでは使えなかったり Shift + Enter がうまくいかなかったりするようです。最新の Chrome か Safari か Firefox を使いましょう。

Google Colaboratory にアクセスしてください。上にオレンジ色の帯のあるポップアップが出れば、一番下の「ノートブックを新規作成」をクリックします。ポップアップが出なかったら、左上の「ファイル」メニューから「ノートブックを新規作成」を選びます。

コードセル(カーソルの点滅しているところ)に何か計算式を入れてみましょう。例えば

2+3

と打ち込んで、Shift + Enter します。答え(上の計算の場合は 5)が現れ、その下に新しいコードセルが出ます。

ブラウザによっては Shift + Enter がうまく効かないことがあるようです。その場合は ● ▷ のボタンをクリックすれば実行されます。ただ、新しいコードセルが出ませんので、「+ コード」ボタンを押してコードセルを追加します。

あとはPythonの初歩を見ながらいろいろ試してください。

ノートブックとして使う

Google Colaboratory は Jupyter Notebook(ジュピター・ノートブック)をベースに作られたもので、コード(プログラム)とテキスト(マークダウン形式の文書)を織り交ぜて、作業内容を記述できます。

セルのほんの少し上、または一番下のセルのすぐ下にマウスを乗せると、細い横線が現れ、中央に

————+ コード——+ テキスト————

という二つのボタンが現れます。これを使って、好きな位置に新しいセルを追加できます。

ここでは一番上のセルの上で + テキスト をクリックして、テキストセルを追加してみましょう。小さいワープロのような枠が現れます。この中に、コード中のコメントだけでは表せない説明を書き込みます。特に、一番上のテキストセルの最初の行は、このノートブックの題名を書きます。その際、次の例のような「マークダウン」(Markdown)と呼ばれる記法を使います:

# 日本の出生率の推移

以下では厚労省のデータをもとに日本の出生率の推移を考察する。

セルの右側にプレビューが現れます。頭に # を付けた行だけ題名用の大きなフォントで表示されます。このような記法がマークダウン記法です。同様に、## を付けた行(節見出し)は、題名よりもやや小さく本文より大きいフォントになります。

頭に # を付けなかった行は、普通の本文です。空の行を挟むと、そこで段落が区切られます。

TeX 形式の数式も使えます。本文中に アインシュタインは $E=mc^2$ と言った。 のように数式を挿入したり、独立した行に

$$ \int_0^\infty f(x)dx $$

のように中央揃えの数式を挿入したりできます。

テキストセルは、ダブルクリックすると、再編集できます。

どのセルも、↑ ↓ ボタンで上下に移動できます。

データの読み込ませ方

Web で提供されているデータなら、URL 指定で読み込めるので簡単です:

import pandas as pd

df = pd.read_csv("https://okumuralab.org/~okumura/python/data/pop2020.csv")

Web で提供されていないファイルを読み込ませるには、まずそのファイルを Google Colaboratory の仮想マシンに転送しなければなりません。左端にあるフォルダーマーク 🗂 をクリックすれば、Google Colaboratory のカレントディレクトリ /content の中身が見えます。sample_data というフォルダーがあり、練習用データがいくつか入っています。この中(sample_data の中ではなく、それと同じレベルの場所)にドラッグ&ドロップでファイルを転送すれば、Python から簡単に読めます:

df = pd.read_csv("filename.csv")

sample_data の中のものは、例えば次のようにして読めます:

df = pd.read_csv("sample_data/california_housing_train.csv")

Google Colaboratory の中身

Google Colaboratory は一つの仮想マシンの上で実行されています。他人にじゃまされずに一つのマシンを無料で使うことができるので、たいへんありがたいサービスです。

ちなみに、動いている OS や Python のバージョンは次のようにして確かめられます。2022年8月現在、Ubuntu 18.04 の Python 3.7.13 のようです。

!cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.6 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.6 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
import sys

sys.version
'3.7.13 (default, Apr 24 2022, 01:04:09) \n[GCC 7.5.0]'

GPUがあれば次のコマンドでわかります。

!nvidia-smi

インストールされている Python のパッケージは !pip list でわかります。2022年8月現在の主なものを挙げておきます。最新ではないけれども、まずまずの新しさです。

beautifulsoup4                4.6.3
bokeh                         2.3.3
folium                        0.12.1.post1
graphviz                      0.10.1
lxml                          4.9.1
matplotlib                    3.2.2
numba                         0.56.0
numpy                         1.21.6
opencv-python                 4.6.0.66
openpyxl                      3.0.10
pandas                        1.3.5
Pillow                        7.1.2
pystan                        3.3.0
requests                      2.23.0
rpy2                          3.4.5
scikit-learn                  1.0.2
scipy                         1.7.3
seaborn                       0.11.2
sympy                         1.7.1
tensorflow                    2.9.1
torch                         1.12.1+cu113
tweepy                        3.10.0
wordcloud                     1.8.2.2

新しいパッケージをインストールするには例えば次のようにします:

!pip install japanize-matplotlib