Kevin's Data Analytics Blog

データサイエンティスト、AIエンジニアを目指す方に向けて情報発信していきます。

Jupyter Notebook:データサイエンティストを目指す方にオススメのPython実行環境

こんにちは。今回は、多くのデータサイエンティストが実務で使用している、Jupyter Notebookについて紹介します。

Jupyter Notebookとは

Jupyter Notebookは、ブラウザ上で動作するPythonの実行環境です。下のイメージのように、見やすいデザインの画面にPythonプログラムを記述して、実行することができます。

f:id:dskevin:20210115084724p:plain
Jupyter Notebookイメージ

Pythonの開発ツールは他にもいくつかありますが、Jupyter Notebookが、Python初心者の方やデータサイエンティストを目指す方にオススメです。主な理由として、3つあります。

1. プログラムをセル単位で実行できる
プログラムを少しずつ書いて、実行した結果を確認しながら進められるため、Python初心者の方にも易しい設計になっています。

2. 表やグラフをその場に表示できる
プログラムの実行結果がその場に出るため、データを表やグラフに出力しながら作業することが多い、データ分析者に向いています。

3. プログラムの説明文をセルの外側に書ける
初心者の方が、学習した内容をメモすることに使ったり、データ分析者が、分析作業のプロセスを残すという使い方ができます。

想定環境

以下の環境を想定して、記事を書いています。

なお、Anacondaのインストール方法については、前回の記事でまとめていますので、よければこちらもご参照ください。
dskevin.hatenablog.com

起動方法

コマンドプロンプトから、以下のコマンドを実行します。

jupyter notebook

すると、ブラウザ上にJupyter Notebookのホーム画面が表示されます。

f:id:dskevin:20210122084735p:plain
Jupyter Notebookのホーム画面

これで起動できました。

Python実行用の作業フォルダ作成

Jupyter Notebookのホーム画面からは、「Desktop」、「Documents」などのフォルダが見えています。これらは、PC内に実際に存在するフォルダを表しており、Jupyter Notebookから、PC内のデータを参照することができます。

f:id:dskevin:20210122222531p:plain
ホーム画面と実際のフォルダ

Anadondaをインストールすると、ドキュメントフォルダの下に、「Python Scripts」という空のフォルダが作成されていますので、特にこだわりがなければ、ここに作業フォルダを作成します。
オススメのフォルダ構成は、以下のとおりです。

案件名   →案件ごとにフォルダを作成
├─ data   →データを入れる
├─ output  →出力結果を入れる
└─ src   →Pythonのプログラムを入れる

フォルダを作成すると、Jupyter Notebookの画面にも反映されます。

f:id:dskevin:20210122222735p:plain
オススメのフォルダ構成

ノートブックの作成

Jupyter Notebookでは、Pythonプログラムをノートブックという形式で、ファイルに保存できます。同じバージョンのPythonがインストールされた別のPCに、ノートブックのファイルをコピーして、プログラムを実行することもできます。
先ほど作成した作業フォルダに、ノートブックを作成してみましょう。
Jupyter Notebookの画面から、srcフォルダに移動します。右上の「New」ボタンをクリックし、リストの中から「Python 3」を選択します。

f:id:dskevin:20210122223659p:plain
ノートブックの作成

すると、新しいタブが開いて、以下のようなノートブックの画面が表示されます。

f:id:dskevin:20210122224120p:plain
ノートブック画面

これで、ノートブックが作成できました。
なお、左上の「Untiltled」はノートブックの名前で、クリックすると名前を変えることができます。あとで、ノートブックを見つけやすいように、プログラムの内容を表す名前を付けるようにしましょう。

f:id:dskevin:20210122224829p:plain
ノートブックのファイル

ノートブックは、ファイル名に「.ipynb」という拡張子が自動で付いて保存されます。ファイル名の拡張子が「.ipynb」なのは、以前、Jupyter Notebookは、IPython Notebookと呼ばれていた名残です。

プログラムの実行

実際にノートブックにプログラムを書いて実行してみましょう。
Jupyter Notebookでは、In[ ]:と表示されているセルにプログラムを記述することができ、セルの単位でプログラムを実行することができます。全体として長いプログラムを書く場合にも、例えば、'ファイルの読み込み'と'グラフの描画'を別々のセルを分けて書くことで、途中の結果にエラーや誤りがないことを確認しながら進めることができるため便利です。
プログラムを実行する時には、上にある[Run]ボタンを押します。または、キーボード操作で、[Shift]+[Enter]キーを押しても実行できます。慣れれば、[Shift]+[Enter]キーの方が速いです。
以下は、「print('Hello world!')」と書いて実行したイメージです。

f:id:dskevin:20210122230301p:plain
プログラムの実行例

Hello world!」という文字列が、実行結果として表示されています。このように、Jupyter Notebookでは、文字列・表・グラフなど、プログラムを実行した結果として表示するものがある場合は、実行したセルの下に表示されます。

その他の基本操作

プログラムを実行するボタンの他にも、いくつかのボタンが用意されています。それらのボタンを押すことで、Jupyter Notebookにおける基本的な操作を行うことができます。それぞれのボタンと対応する操作は、以下のとおりです。

f:id:dskevin:20210124090632p:plain
Jupyter Notebookの操作ボタン

①ノートブックを保存する
②セルを追加する
③選択したセルを切り取る/削除する
④選択したセルをコピーする
⑤切り取りまたはコピーしたセルを貼り付ける
⑥選択したセルを上方向に移動する
⑦選択したセルを下方向に移動する
⑧選択したセルを実行する
⑨実行中のプログラムを停止する
⑩ノートブックを再起動する
⑪ノートブックを再起動して、全体を上から順に実行する
⑫入力モードを変更する

特に知っておくと役に立つ機能として、③~⑦の操作は、実行結果の部分も含めてコピーや並べ替えができます。そのため、分析作業の試行錯誤をした後で、プロセスを整理する際にとても便利です。

f:id:dskevin:20210123102609p:plain
セルのコピー例

また、⑫の入力モードについては、次のセクションで紹介します。

説明文の記述

Jupyter Notebookでは、プログラムの説明文をMarkdownで記述することができます。ここでは、その方法を紹介します。
それぞれのセルは、デフォルトではCodeモードになっていて、プログラムを実行できる状態になっています。これをツールバーの右上にあるプルダウンメニュー(前セクションの図の⑫)から、「Markdown」を選択することで、Markdownモードに変更して、テキストを入力できる状態になります。説明文は、Markdownモードにして記述します。なお、キーボード操作で、[Esc]+[M]キーを押してもMarkdownモードに切り替えられます。

f:id:dskevin:20210123105558p:plain
Markdownモードへの切り替え

Markdownは、文章を見栄えの良いスタイルで記述するための記法(マークアップ言語)の1つです。Markdownを使って文章を書くと、見出しや強調などの文字装飾が簡単にできます。Markdownの文法はたくさんありますが、Jupyter Notebookでデータ分析の作業を整理する用途で使用する場合、まずは、見出しが使えれば十分だと思います。本記事の冒頭に貼ったイメージのように、見出しを使ってそのプログラムが何をやっているか説明する文章を入れると、あとから見返したときに理解しやすいです。

f:id:dskevin:20210123114017p:plain
Markdown記法での見出し

Markdownで見出しは半角シャープ(#)を使います。シャープの数によって、見出しの大きさを変えることができます。また、シャープと見出し文字の間には半角スペースを1つ入れる必要があります。
説明文を記述し終えたら、Markdownモードのセルを選択した状態で、実行ボタンを押す、または[Shift]+[Enter]キーを押します。すると、以下のように表示が切り替わります。

f:id:dskevin:20210123114221p:plain
Markdown表示例

Markdownモードで表示を切り替えた後は、セルの枠が消えます。プログラムのセルの外側に説明文が記述された状態になるため、視覚的に見やすく整理できることがJupyter Notebookの特徴です。

まとめ

Jupyter Notebookの使い方について紹介しました。他にも便利な機能がありますので、実際に使ってみて色々と試してみていただきたいと思います。Jupyter Notebookは、データサイエンティストにとって必須ともいえるツールですので、これからデータサイエンティストを目指す方にとって、この記事が少しでもお役に立てば幸いです。
また、本記事で紹介した内容を動画にして、アップロードしています。よければ、こちらも併せてご参照ください。
youtu.be

最後まで読んでいただき、ありがとうございました。