Jupyter Notebook
概要

一つの文書が「セル」(cell:細胞)と呼ばれる単位の組み合わせで構成される。セルには、Pythonなどのソースコードを記述して即座に実行できる「コードセル」と、Markdown形式で説明や図、数式を記述できる「Markdownセル」の二種類がある。プログラムと実行結果、その解説などを一つの文書として保存でき、単一のファイルとして公開・配布することもできる。
コードセルを実行すると、すぐ下に計算結果やグラフ、表などプログラムからの出力内容が表示される。データ分析のプロセスを試行錯誤しながら探索的に進め、その過程を視覚的に分かりやすく記録することができる。複雑な分析プロセスを他の利用者と共有したり、探求の記録として後からすぐ再現できる形で保存しておくことができる。
標準のファイル形式は「.ipynb」という拡張子で保存され、中身はJSON形式となっている。Jupyter Notebook自体はWebアプリケーションであり、利用者のローカル環境にWebサーバを構築して使用するが、「Google Colaboratory」のようなクラウドサービスも提供されており、サーバを用意しなくても手軽に利用できる。
もともとPythonを対話的に実行する「IPython」というソフトウェアの開発プロジェクトから派生したもので、ファイル拡張子にその名残りが見られる。プログラミング言語としてPythonが選ばれることが多いが、R言語やJuliaなど他の言語にも対応しており、「Jupyter」の名称はJulia、Python、Rを繋げたものが由来とされる。「カーネル」と呼ばれる実行エンジンを追加することで数十の言語に対応させることができる。
機械学習の分野では、データの読み込み、前処理、モデルの構築、訓練、評価までの一連の作業を、一つの文書内で完結させることができる。対話的な実行環境であるため教育にも向いており、様々な分野でコードと解説を一体化した資料が教材やチュートリアルとして配布されている。