Jupyter Notebook(および後継の JupyterLab)は、Python のコードと実行結果・グラフ・解説文を 同じファイルに残せる 対話型の実行環境です。データ分析の探索的な作業に向いており、本サイトの「まずは動かしてみる」局面で頻繁に登場します。

ここでは Jupyter の最小構成での導入から、保存・共有時の注意点までを通しでまとめます。

目次

  1. Notebook と Lab、どちらを使うか
  2. インストール
  3. 起動方法
  4. セルの種類と基本操作
  5. 最初の 1 ノート
  6. 数式を Markdown セルに書く
  7. 保存と共有
  8. バージョン管理のコツ
  9. チェックポイントと自動保存
  10. カーネル(実行環境)の選択

Notebook と Lab、どちらを使うか

呼び方が紛らわしいので最初に整理します。

名称位置づけ用途
Jupyter Notebook(古典)旧来の Web UIレガシーな教材で頻出
Notebook 7新世代の薄い UIシンプルに 1 ノートを開くだけなら十分
JupyterLab多機能 IDE 寄り UIファイルツリー・ターミナルも統合
VSCode の Jupyter 拡張VSCode 内で .ipynb を開く既に VSCode を使っているなら最有力

学習開始のおすすめは VSCode 内で開く方法 です。エディタを 1 つに統一できるためです。本記事ではブラウザ版(JupyterLab)と VSCode 版の両方を扱います。

インストール

仮想環境を作ってから入れます。

Terminal window
mkdir nb-study && cd nb-study
python -m venv .venv
source .venv/bin/activate # Windows は .venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install jupyterlab pandas matplotlib

JupyterLab を入れると、Notebook 7(jupyter notebook コマンド)も同時に使える状態になります。

起動方法

A. ブラウザで JupyterLab

Terminal window
jupyter lab

ブラウザが自動で開き、http://localhost:8888/lab が表示されます。左ペインのファイルツリーから New → Notebook で新規ノートブックを作成します。

シングルファイルだけで開きたいときは Notebook 7 を使います。

Terminal window
jupyter notebook

B. VSCode で開く

  1. VSCode の拡張機能で Jupyter(Microsoft)を入れる
  2. ワークスペースで新しい .ipynb ファイルを作成、または既存の .ipynb を開く
  3. 右上の「カーネル」欄から、プロジェクト内の venv を選ぶ

セルの実行は Shift + Enter です。VSCode 上でも、ブラウザ版とほぼ同じ感覚で使えます。

セルの種類と基本操作

ノートブックは「セル」の集まりです。覚えるのは 2 種類だけです。

セルの種類用途起動
Code セルPython のコードShift + Enter で実行
Markdown セル解説文・見出し・数式Shift + Enter で描画

セルの追加は、選択中のセル下に新規を作る B、上に作る A を覚えれば十分です(コマンドモードのキーバインド)。

最初の 1 ノート

CSV を読み込んでヒストグラムを描く、最小例を示します。

import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv")
df.head()

セル末尾の式は 自動的に表示 されるのがノートブックの便利な点です。print を書かなくても表が描画されます。

次のセルで簡単なグラフを描きます。

fig, ax = plt.subplots(figsize=(6, 3))
df["sepal_length"].hist(ax=ax, bins=20)
ax.set_title("Sepal length distribution")
ax.set_xlabel("length (cm)")
plt.show()

%matplotlib inline の指定はモダンな環境では不要です。

数式を Markdown セルに書く

$...$ で囲むとインライン、$$...$$ でブロックの数式が描画されます。LaTeX 記法がそのまま使えます。

リターンの定義は $r_t = \dfrac{P_t - P_{t-1}}{P_{t-1}}$ と書けます。

保存と共有

ノートブックは .ipynb ファイルで、コード・出力・図・メタデータ が JSON 形式で 1 つに束ねられます。共有のしかたは大きく 4 通りです。

方法向いている場面
.ipynb をそのまま渡す同じ環境を持っている相手
GitHub にコミットして公開レビューや教材公開
nbconvert で HTML に書き出す環境のない相手に結果だけ見せる
Google Colab に上げるクラウドで開いてもらう

HTML への書き出しは次の 1 行です。

Terminal window
jupyter nbconvert --to html notebook.ipynb

バージョン管理のコツ

.ipynb出力データ(画像・表)もファイル内に保存される ため、Git に入れると差分が膨らみがちです。よくある工夫を 2 つ示します。

1. コミット前に出力をクリアする

JupyterLab では Edit → Clear All Outputs を実行してから保存します。VSCode の Jupyter: Clear All Outputs でも同じです。

2. nbstripout で自動化する

Terminal window
pip install nbstripout
nbstripout --install

.git/config にフィルタが登録され、コミット時に自動で出力が除去されます。共著で扱うリポジトリではほぼ必須です。

チェックポイントと自動保存

JupyterLab は数分おきに自動保存します。.ipynb_checkpoints/ というフォルダに直前の状態が残るため、誤って消した場合の戻り先になります。.gitignore必ず登録 します。

.gitignore
.ipynb_checkpoints/

カーネル(実行環境)の選択

ノートブックは「カーネル」と呼ばれる Python プロセスで動きます。複数プロジェクトを掛け持ちするときは、プロジェクトごとに別 venv → 別カーネルにするのが安全です。

venv を別カーネルとして登録するには、次のコマンドを使います。

Terminal window
pip install ipykernel
python -m ipykernel install --user --name pykabu-study --display-name "Python (pykabu)"

JupyterLab のカーネル選択メニューに Python (pykabu) が現れます。

まとめ

  • 学習開始のおすすめは VSCode 内で .ipynb を開く 構成
  • セルの種類は Code / Markdown の 2 種類だけ覚えれば十分
  • ノートブックの数式は LaTeX 記法をそのまま書ける
  • Git 管理時は 出力をクリア するか nbstripout を使う
  • プロジェクトごとに venv → ipykernel で別カーネル登録すると衝突を避けやすい