前回、インストール不要でかつ無料で使えるPython環境Google Colaboratoryについて紹介した。Colaboratoryは、機械学習の教育や研究のために提供されているPythonの実行環境だ。Googleアカウントさえあれば、インストール不要で、WebブラウザからPythonと機械学習ライブラリを利用できる。クラウド上にある、それなりに性能の良いマシンが無料で使い放題ということで、一部で相当に盛り上がっている。

今回は、前回に引き続き、Colaboratoryの使い方を紹介する。とは言え、いきなり機械学習を学ぶのは敷居が高いので、今回は、電卓として使ったり、カレンダーを表示したり、CSVビューアとして使う方法を紹介しよう。一見すると、本来の目的とは違った用途だが、Colaboratoryの汎用性の高さを実感することができるだろう。

  • Colaboratoryを使ってみよう

    Colaboratoryを使ってみよう

電卓の代わりに使おう

まずは、Colaboratoryを多機能電卓として使ってみよう。Colaboratoryには、最先端のディープラーニングも実践できるTensorFlowがインストールされているのだが、ただの四則演算も可能だ。

前回の手順を参考にしつつ、「PYTHON3の新しいノートブック」を作成しよう。そして、入力ボックスに、以下のような計算を書き込もう。これは、とある懇親会の会費を計算するもので、合計金額を参加人数で割って、一人当たりの支払額を計算したものだ。

 38240 / 8

実行ボタンを押すと、実行結果がすぐ下に表示される。

  • Colaboratoryを電卓代わりに使った

    Colaboratoryを電卓代わりに使った

基本的に、ColaboratoryでPYTHON3のノートブックを作成した場合、Python3のプログラムが実行できるようになるのだが、計算式だけを書いて、その結果を調べることもできる。つまり、Pythonで「/」の記号は割り算を意味している。

なお、Pythonを電卓として使う方法は、本連載の5回目で紹介しており、後半で計算に役立つ機能を紹介しているので、参考にして欲しい。

また、わざわざ、実行ボタンを押さなくても、計算式(やプログラム)を打ち込んで、[Ctrl]+[Enter]キーを押すと、式が評価され結果が表示されるので、マウスを使わないキーボード派にも優しい設計になっている。なお、[Shift]+[Enter]キーを押すと、式を評価した後で実行結果の下に新たな入力ボックスを挿入してくれる。ショートカットキーの一覧は、メニューの[ツール > キーボードショートカット]で確認できる。

なお、Pythonでは変数名に日本語が使える。そのため、以下のようにして、変数を使って計算するなら、計算式に意味を持たせることができる。ある意味、最強の電卓だ。

 総支払額 = 38240
 参加人数 = 8

 総支払額 / 参加人数

実行すると、以下のように計算結果が表示される。

  • 日本語の変数名を使って割り勘の計算をしたところ

    日本語の変数名を使って割り勘の計算をしたところ

Colaboratoryをカレンダー代わりに使おう

なお、Colaboratoryをカレンダーの代わりに使うこともできる。以下の3行のコードを書いて実行してみよう。以下は、2018年5月のカレンダーをColaboratoryに出力する。

 import calendar, IPython.display as d
 cal = calendar.HTMLCalendar().formatmonth(2018, 5)
 d.display_html(cal, raw=True)

実行すると、以下のように表示される。

  • 月間カレンダーを出力したところ

    月間カレンダーを出力したところ

ただ、見て分かる通り、ちょっと行間がつまっているので、デザインに凝りたい場合は、一行足して以下のようにしてみよう。

 import calendar, IPython.display as d
 cal = calendar.HTMLCalendar().formatmonth(2018, 5)
 css = '<style>th,td { padding: 4px; text-align:center; }</style>'
 d.display_html(css + cal, raw=True)

実行すると、次のように表示される。

  • 月間カレンダーをスタイル付きで出力したところ

    月間カレンダーをスタイル付きで出力したところ

このプログラムは、Pythonの標準モジュール「calendar」を利用して、月間カレンダーを表示するものだ。HTMLCalendarオブジェクトを使うと、カレンダーをHTMLで出力することができる。なお、display_html()関数を使うと、Colaboratoryの出力結果をHTMLで表示することができる。

ColaboratoryをCSVビューアとして使おう

次に、ColaboratoryをCSVビューアとして使ってみよう。CSVファイル(拡張子".csv")は汎用的なデータ形式でとても便利だ。しかし、ただのテキストデータなので、Excelなどの表計算ツールを使わないと読みにくい。Colaboratoryを使えば、綺麗にCSVを表形式で確認できるので試してみよう。

ただし、ColaboratoryはGoogleのサーバ上で実行するため、何かしらの素材ファイルを利用したい時には、ファイルをサーバにアップロードする必要がある。そのためには、まず、以下のようなプログラムを実行する。

 from google.colab import files
 uploaded = files.upload()

すると、次のようなアップロード用のフォームが表示されるので、「ファイル選択」ボタンをクリックして、ファイルを選択しよう。すると、ローカルPCにあるファイルが、Colaboratoryにアップロードされる。

  • アップロード用のフォームが表示されたところ

    アップロード用のフォームが表示されたところ

ここでは、例として、本連載の3回目で紹介した人口統計のサンプルCSVファイルを表示してみよう。まず、サンプルファイルをダウンロードして、ファイルをColaboratoryにアップロードしよう。そして、以下のプログラムを実行しよう。

 import pandas as pd
 pd.read_csv("population.csv", encoding="SHIFT_JIS")

すると、以下のように綺麗にCSVファイルを綺麗な表にしてくれる。

  • CSVをアップロードして表示したところ

    CSVをアップロードして表示したところ

これは、ColaboratoryにインストールされているPandasライブラリを利用して、CSVファイルを読み込んだものだ。なお、Pandasを使うと、簡単に円グラフも描画することができる。

手軽にグラフを描画しよう

ここでは、上記の人口統計CSVファイルを利用して、グラフを描画してみよう。以下のコードを実行すると、平成28年度の都道府県の人口分布を示す円グラフを描画する。

 import pandas as pd
 csv = pd.read_csv("population.csv", encoding="SHIFT_JIS")
 csv['平成28年'].plot.pie()

実行すると以下のようなグラフを描画する。

  • 円グラフを描画したところ

    円グラフを描画したところ

ただし、グラフ中に日本語を描画しようとすると、文字化けして文字が豆腐状態になってしまう。これは、日本語フォントがColaboratoryにインストールされていないことが原因だ。

今後、手順が変わる可能性が高いので、ここには具体的な方法は書かないが、Colaboratoryに日本語フォントをインストールし、描画ライブラリにフォントのパスを与えることで、以下のような日本語も描画することができる。自由にライブラリをインストールできるColaboratoryならではの良さだ。

  • 日本語フォントをインストールすれば日本語もグラフに書き込める

    日本語フォントをインストールすれば日本語もグラフに書き込める

今回のまとめ

以上、今回は、Colaboratoryを活用する方法を紹介した。Colaboratoryは、機械学習に使うために用意されているのだが、今回紹介したように、便利なPythonの実行環境として使うこともできる。次回は、Colaboratory上で作成したファイルを、自分のGoogleドライブに保存する方法などを紹介するので、お楽しみに。

自由型プログラマー。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。代表作に、日本語プログラミング言語「なでしこ」 、テキスト音楽「サクラ」など。2001年オンラインソフト大賞入賞、2005年IPAスーパークリエイター認定、2010年 OSS貢献者章受賞。技術書も多く執筆している。