今日も窓辺でプログラム

外資系企業勤めのエンジニアが勉強した内容をまとめておくブログ

PythonとJupyter Notebookを使ってデータと遊ぶ方法

この記事について

Pythonを使って、CSVなどのデータを分析・可視化する方法を紹介します。
今回は、インタラクティブにデータの分析ができるJupyter Notebookというツールの使用方法をインストール段階から解説していきます。

Jupyter Notebookとは?

Jupyter Notebookは、Pythonなどを使ってインタラクティブにコーディングができる環境のことです。
何のことかよくわからないと思うので、実際に動いている様子をご紹介します。


まずJupyter Notebookを開いてノートを作成すると、次のような画面が表示されます。
f:id:kanohk:20160826150439p:plain

画像中のテキストボックスに、Pythonのコードを描いていきます。試しにhello worldをしてみましょう。
print文を1行書いて、下の画像の赤丸で囲ってあるボタンを押すと、テキストボックスの中のコードが実行され、結果が表示されているのが確認できます。
f:id:kanohk:20160826151023p:plain

上の画像をよく見ると、Hello world!と出力された文字の下に、新たにテキストボックスが出来ているのがわかると思います。
このように、ある程度のまとまりごとにテキストボックスにコードを書いていき、そのまとまりごとにコードを修正・実行することができます。

インストール方法

簡単なインストール方法は、AnacondaというPythonやデータ分析等によく使われるライブラリが含まれたパッケージをインストールする方法です。
下記のリンクからAnacondaのダウンロードページに飛んで、自分のOSにあったインストーラーをダウンロード・実行するだけでOKです。
Download Anaconda Now! | Continuum

PythonのバージョンはPython2.xとPython3.x(現時点では2.7と3.5)の2種類ありますが、特に理由がない場合はPython3の方を選んでおけばよいのではないかと思います。特殊なライブラリを使用する予定がないのであれば、Python3にして困ることもないのではないでしょうか。

インストール方法について、より詳しく解説しているサイトも紹介しておきます。
Anaconda を利用した Python のインストール (Windows) – Python でデータサイエンス

使用方法

インストールしたら"Jupyter Notebook"を起動してください。Windowsの場合は、スタートメニューのAnacondaのフォルダの下から起動できるかと思います。
起動したらブラウザでhttp://localhost:8888/ にアクセスしてください。すると、あなたのホームディレクトリが表示されると思います。

ノートを保存したいフォルダに移動したら、右上のNew > Python3をクリックすると、最初に紹介したノートが表示されます。
f:id:kanohk:20160826162757p:plain

pandas.DataFrameと相性がいい

Pythonでデータを取り扱う時にはpandasというライブラリを使用することが多いです。Jupyter NotebookはこのpandasのDataFrameという、データを保持するためのデータ形式(エクセルのスプレッドシートのようなイメージ)と相性がいいです。
例えば、このようにコードを書くだけで、DataFrameの中身をきれいなテーブルで表示してくれます。

import pandas as pd

# 5人の身長をpandasのDataFrameで保持
heights = pd.DataFrame({"Height": [152, 173, 179, 162, 160]})

# Jupyter NotebookにDataFrameを表示してもらう
heights

f:id:kanohk:20160826163950p:plain

グラフも表示できる

Pythonでグラフを書くときにはmatplotlibを使用する方が多いのではないでしょうか。Jupyter Notebookでは、コードのどこかに

%matplotlib inline

という1行を入れておくだけで、ノート内にグラフが描画できるようになります。
例えば、こういう感じです。(グラフ自体にあまり意味はないですが、動作説明のためなので勘弁してください。。)

f:id:kanohk:20160826165059p:plain


以上、非常に簡単にですが、Jupyter Notebookの使用方法を紹介しました。
ぜひ、皆さんもデータを分析する際に活用してみてください。


関連記事

pandasでのデータの扱い方について解説しています。
www.madopro.net

以下の記事では、実際に Jupyter Notebookを使ってコードの動きを紹介しています。
記事の内容は別にして、GitHubに上げてあるNotebookを見ていただくとどのように使えるかがイメージしやすいかと思います。
www.madopro.net