Python でデータ分析を行う際の実行環境として、Jupyter notebook は有力候補の一つです。今や多く存在する Python 系のブログでも Jupyter notebook を実行環境として選んでいるものはかなり多いかと思います。実際、vscode や atom などの他のエディターと比べて対話式で分析を進めることができるのは大きな利点です。
実はこのJupyter notebook、簡単に改造し、様々な拡張機能を設定できることはご存じでしょうか?今回はその方法を共有いたします。(Anaconda のJupyter を使うことを前提としてます)
設定方法
今回ご紹介する機能は「jupyter notebook extensions」です(公式サイト)。非公式なので急に使えなくなる可能性はありますが、色々便利なので私は使っています。
設定方法は、Command Prompt (mac は Terminal)で拡張機能を導入したい環境を activate し、三行のコマンドを実行するだけです!
conda activate [環境名]
pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
jupyter nbextension enable codefolding/main
これらを実行した状態で Jupyter notebook を起動すると、タブに「Nbextensions」が追加されます。
<Jupyter notebook 起動画面(通常)>
<Jupyter notebook 起動画面(拡張機能)>
この状態で「Configurable nbextensons」下のチェックボックスを外すと、下の青文字の拡張機能をチェックボックスで管理できるようになります。
設定できる拡張機能
拡張機能については日本語でまとめてくださった方がいますので、そのリンクを貼ります。(https://qiita.com/simonritchie/items/88161c806197a0b84174)ここでは、私が特に便利だと思ったものを抜粋して紹介します。
ExecuteTime
セル内のコードの実行時間を表示します。

Hide all input
目玉マークをクリックすると、セル内のコードを一括で非表示にできます。結果だけを一気に見るときに使います。

Scratchpad
(Ctrl + b)で使い捨て用のセルを出します。フローに入れると邪魔な、変数だけ確認する場合に有効です。

table_beautifier
Pandas などの DataFrame 形式の表にカラム別のソート機能が付与されます。(カラム名左の▲マークをクリックでソート)

Variable Inspector
照準マークをクリックすると、カーネル上で定義された変数を確認できるリストが表示されます。

Table of contents(2)
リストマークをクリックすると、Markdown の見出しに応じて目次を生成します。クリックで対象の見出しまで移動できます。

というわけで、Jupyter notebook の拡張機能「jupyter notebook extensions」の紹介でした。そんなに手間もかからないので皆さんも入れてみてはいかがでしょうか。最後までお読みいただきありがとうございました。