Pythonデータサイエンスハンドブック 第2版 ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
by Jake VanderPlas, 菊池 彰
第I部Jupyter:Pythonより優れたPython
Pythonを用いた開発の環境には、いくつもの選択肢があります。筆者が好んで使用するのは、IPythonとテキストエディタ(そのときの気分により、EmacsかVSCodeを使い分けます)であることを知ると、驚く人がいます。Jupyterは2001年にFernando PérezがPythonインタープリタの拡張版として作成したIPythonシェルを起源とし、Pérezの言葉を借りるなら、「リサーチコンピューティングのライフサイクル全体に対するツール」を提供するプロジェクトとして発展を続けています。データサイエンスを行うエンジンがPythonであるなら、Jupyterは対話的な制御コンソールであると考えることができるかもしれません。
Pythonの対話型インターフェイスであるJupyterは、Python言語の上に便利な構文を追加する機能も提供しています。それらの機能のうち利便性の高いものを本書で紹介します。おそらくJupyterプロジェクトが提供する最も有益なインターフェイスは、Jupyter Notebookでしょう。これはブラウザベースの環境で、データサイエンスの開発、ユーザ間の協調、成果物の共有、結果の公開などで役立ちます。Notebook形式の有用性を示す例が、今まさに目にしているこのページです。本書の原稿はすべてJupyter Notebookの集合で構成されています。
本書ではまず、データサイエンスの実践に役立つJupyterとIPythonの機能を、特にPython標準機能の上に加えられた構文に焦点を当てながら、順番に紹介します。続いてデータサイエンスのコード作成や実行作業を高速化する「Magicコマンド」を掘り下げて説明します。最後にデータの理解や結果の共有で役立つNotebookの機能にも触れます。 ...