Jupyter Notebookを利用してお手軽分析環境構築
突然ですが,みなさま普段データ分析を行う際にどのような分析環境(ツール)を利用していますか?Excel?RStudio (R)?Spyder (Python)?「特にそういった分析環境を利用していません」という方もいらっしゃるかもしれません.
この記事では,数ある分析環境の中でも人気急上昇中(※当社比)のJupyter Notebookに注目し,Jupyter Notebookを利用したお手軽な分析環境構築について紹介します.
上記にあげたコードをそのままJupyter Notebook上で実行してみると,以下のような出力結果が得られます.
グラフがうまく表示されていませんね.実は,Jupyter Notebookはデフォルトではノートブック上にグラフを埋め込んで表示してくれません.グラフを埋め込んで表示したい場合には,Jupyter Notebook上で以下の宣言を実行する必要があります.
※以下の内容はWindowsで未検証です
グラフが描画できたところでタイトルやラベルも設定してみましょう.
目次
Jupyter Notebookとは?
Jupyter Notebookとは,ブラウザ上でインタラクティブにデータ分析が行える環境です. ※最近では分析用途だけに留まらず便利なメモ帳としてJupyter Notebookを利用する例も増えているようです.参考:現代のエンジニアのための強力なメモ帳 Jupyter notebookのすゝめ オープンソースで開発が進められており,誰でも無料でインストールして利用することが出来ます.(インストールせずにちょっと試してみたいという方は,「Try Jupyter」を利用することも出来ます.もちろん無料です.) プロジェクトのページはこちらになります:Project Jupyter | Home 百聞は一見にしかずということで,実際の使用例を見てみましょう.以下はJupyter Notebook上に一つのノートブックを作ってみた例です. ご覧の通り,Jupyter Notebookを利用することで,実験用のプログラムを書いて結果を確認してレポートにまとめる・・・といった一連の流れを1つのノートブック上で完結させることが出来ます.まるで紙のノートブックに実験レポートをまとめているかのようですね! 上記の例ではプログラミング言語にPythonを用いていますが,Jupyter Notebook自体は40種類以上のプログラミング言語をサポートしています.RやJuliaといった分析用言語はもちろん,中にはRubyやHaskell,Scala (with Spark) なども含まれています.Jupyter Notebookがサポートする言語が気になる!という方は以下のサイトをご参照下さい. IPython kernels for other languages | GithubJupyter Notebook環境の構築
早速自分のPCにJupyter Notebook環境を構築して試してみましょう! Jupyter Notebookの公式インストールマニュアルでは,Anacondaのインストールが推奨されています.Anacondaとは,分析用のライブラリが多数内包された無料のPythonディストリビューションです.Jupyter NotebookがPythonで動いているため,動作させるためにまずPythonをインストールする必要があるのですが,Anacondaをインストールすれば面倒な手順を必要とせずすぐさまJupyter Notebookを利用することが出来ます. Anacondaをインストールしたいという方は,以下のリンクからご自分の環境にあったAnaconda Installerをダウンロードして下さい.(Anacondaには,Windows / OS X / Linuxそれぞれのインストーラーが用意されています.) Download Anaconda now! | Continuum – Continuum Analytics もうすでにPython環境がPCにあるためAnacondaは利用したくないという方は,pip
を利用してJupyter Notebook環境を構築することもできます.
$ pip install jupyter
※Pythonを使って例に示したようなグラフを描画するには,別途 matplotlib
というライブラリが必要です.Anacondaをインストールされた方の環境にはもうすでにそのライブラリも導入されています.
Python + Jupyter Notebook環境を試す
※以下の説明の中で,pandas
,matplotlib
を利用します.Anacondaを利用していない方は別途 pip
で導入する必要があります.
AnacondaをインストールするなどしてJupyter Notebookを利用する準備ができたら,シェル環境から以下のコマンドを入力することでJupyter Notebook環境が起動します.(Windowsの方はコマンドプロンプト環境から入力して下さい)
$ jupyter notebook
無事に起動が行われた場合は自動的にブラウザが立ち上がって,Jupyter Notebookの画面が表示されるはずです.Jupyter Notebookは起動コマンドを入力した際にいたディレクトリをルートとして認識して,そのディレクトリ以下にノートブックを作成します.
特定のフォルダ以下にノートブックを保存したい場合は,シェル環境にてそのフォルダのある場所まで移動し,再度起動コマンドを入力して環境を起動しなおして下さい.
早速ノートブックを作成してみましょう!
以下の図で示される様に,New -> Python 3
と選択してPythonのノートブックを作成します.(Python 2系でJupyter Notebook環境を構築された方は,Notebooksのところの表示がPython 2
となっているはずです)
ノートブックは以下のような画面構成になっています.
ドキュメントやコードは左側に ln []:
と書かれたセルの中に記述していきます.Pythonのコードを書いたりMarkdownを書いたりといったモードの切替を行いたい場合には,真ん中付近に表示されている Code
というボタンを利用します.
新しくセルを追加したい場合には,メニューから Insert -> Insert Cell Above (Below) とするとセルの追加が出来ます.
セルを編集して実行したい場合は,実行したいセルを選択した上でShift+Enterキーを押します.早速実行してみましょう.Pythonコードのセルを実行した場合にはその実行結果が,Markdownのセルを実行した場合にはそのレンダリング結果が確認出来るはずです.
ここまでが基本的なJupyter Notebookの使い方です.
Python + Jupyter Notebookでグラフを描く
折角なので,Python + Jupyter Notebookを使ってグラフを描く方法についても触れておきます. Pythonでグラフを描く際には,matplotlib
というライブラリを使うのが一般的です.以下はシンプルな線グラフを描く例です.
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [2, 4, 6]
plt.plot(x, y)
matplotlib
の基本的な使い方の説明はその他のサイトに譲るとして,ここではJupyter Notebook上で matplotlib
を利用する(あるいはmatplotlib
自体を便利に使う)際のいくつかのTipsについて紹介します.
matplotlib
上にグラフを埋め込む
上記にあげたコードをそのままJupyter Notebook上で実行してみると,以下のような出力結果が得られます.
グラフがうまく表示されていませんね.実は,Jupyter Notebookはデフォルトではノートブック上にグラフを埋め込んで表示してくれません.グラフを埋め込んで表示したい場合には,Jupyter Notebook上で以下の宣言を実行する必要があります.
%matplotlib inline
上記を実行後に再度グラフを表示するコマンドを実行すると,グラフが正しく表示されることが確認できるはずです.
matplotlib
のグラフスタイルを変更する
matplotlib
のグラフスタイルはデフォルトのままではかなりいけてないです.普段からR言語を利用されている方だとかなり残念な気持ちになったかと思います.
ですが安心して下さい.matplotlib
のグラフスタイルは簡単に変更することが出来ます.matplotlib
のグラフスタイルを変更するには,plt.style.use(利用したいスタイル名)
を利用します.利用できるスタイルは,plt.style.available
コマンドで確認出来ます.個人的におすすめなのは,以下に示す ggplot
スタイルです.
matplotlib
のグラフで日本語を使う
※以下の内容はWindowsで未検証です
グラフが描画できたところでタイトルやラベルも設定してみましょう.
plt.xlabel(***)
,plt.ylabel(***)
,plt.title(***)
を使ってそれぞれ設定出来ます.以下は各ラベルやタイトルを設定してみた例です.
日本語で書いたタイトルが文字化けしてしまっています.
実験レポート例で示したようにグラフの中で日本語を使うためには,別途 matplotlib
で日本語フォントを設定する必要があります.ここでは簡単に日本語フォントの設定手順を紹介します.
まずは自分の環境で利用できる日本語フォントを調べてみましょう.利用できるフォントのリストは,Jupyter Notebook上で簡単に確認することができます.以下のコマンドを実行して下さい.
import matplotlib.font_manager as fm
fm.findSystemFonts()
リストの中から日本語フォントを探しましょう.ここでは /Library/Fonts/Osaka.ttf
というフォントを利用することにします.matplotlib.pyplot
をインポートして,使用するフォントの名前を設定しましょう.
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'Osaka'
先ほど文字化けしたグラフを再度実行すると,正しく日本語を表示できていることが確認できるかと思います!
日本語フォントをデフォルトで利用するよう設定することも出来ます.
自分のホームディレクトリ以下に .matpltolib
というディレクトリを作成し,その下に matplotlibrc
という名前のファイルを作成します.(~/.matplotlib/matplotlibrc
)ファイルを作成したら,作成した matplotlibrc
ファイル内に利用するフォントを記入します.
font.family: Osaka
ここまで出来たところで,Jupyter Notebookを再起動してみましょう.日本語を利用したグラフも文字化けせず正しく表示することが出来るかと思います.
ここまで紹介した手法を利用すると,一番最初の実験レポート例で示したレポートを記述することが出来ます.
お疲れ様でした!
R + Jupyter Notebook環境を導入する
ここまでの説明だと全体的にPython色が強く,様々な言語を扱えるというJupyter Notebookの特色を一部しか体験出来ていません.そこで,最後にR言語をJupyter Notebook上で動かす方法について紹介します. ※本家のページはこちら:R kernel for Jupyter ※事前にRの環境が構築されていることを前提としています.R言語の環境が無い方はこちらのページを確認してセットアップを行って下さい. まず,Rを開いて以下のコードを実行して下さい.install.packages(c('rzmq','repr','IRkernel','IRdisplay'), repos = c('http://irkernel.github.io/', getOption('repos')))
※上記を実行してrzmq.so
のエラーが発生する方は,zmq
を入れ直す必要があります.本家のページにOS別で詳しい導入方法がまとめられていますので,詳細はこちらのページのSOURCE
タブををご確認ください:IRkernel – Installation
必要なパッケージが導入できたら,コマンドラインからRを開いて以下を実行することでJupyter NotebookにRが追加されます.
IRkernel::installspec()
Jupyter Notebookを再起動して,Notebooksの機能にRが追加されたかどうか確認してみましょう.IRkernelが正しく導入されていた場合,以下の通り表示されます.
Jupyter Notebookを利用してR言語にHello, world!することが出来ました!
まとめ
ざっくりした感じでしたが,Jupyter Notebookの便利さを感じて頂けたのではないでしょうか?ここで紹介した以外にも,Jupyter Notebookには便利な使い方がいっぱいあります.以下にJupyter Notebookの様々な使い方を紹介したサイトへのリンクを貼っておきますので,ぜひ一度ご覧になってみて下さい. Notebook Gallery – Links to the best IPython and Jupyter NotebooksDATUM STUDIOは、クライアントの事業成長と経営課題解決を最適な形でサポートする、データ・ビジネスパートナーです。
データ分析の分野でお客様に最適なソリューションをご提供します。まずはご相談ください。
Contact
Explore Jobs
関連記事