1. ホーム
  2. スクリプト・コラム
  3. パイソン

Pythonの生産性を向上させる5つのJupyter notebookプラグイン

2022-01-26 21:22:21

今回は、生産性を向上させるための5つのJupyter拡張機能を紹介します。ブックマークや学習、そして「いいね!」やサポートなど、お気軽にご利用ください。この記事の最後に技術交流グループがありますので、気軽にチャットしてください。

さあ、はじめましょう

1. jupyter-リソースの使用法

メモリの問題でJupyter Notebookの動作が遅くなったり、クラッシュしたりしたことはありませんか?メモリを大量に消費するビッグデータを探索するときや、重いモデリングの計算処理をするときによく起こります。

メモリの問題をコントロールするには、jupyter-resource-usage 拡張を使用して、Notebook のメモリ使用量を表示することができます。この拡張機能の使い方は簡単で、現在のノートブックサーバーとサブサーバーにあるすべてのリソースが右上に表示されます。それでは、拡張機能をインストールしてみましょう。

pip install jupyter-resource-usage


パッケージのインストールが完了したら、Jupyterを再起動してJupyter Notebookにアクセスしてみてください。メモリ表示がノートブックで利用できるようになるはずです。

割り当てられるリソースを制限したい場合は、ここで説明する様々な方法で制御することができます。リンク先は https://github.com/jupyter-server/jupyter-resource-usage

2.パイオフォレスト

新しい環境で作業したり、新しいプロジェクトを開発したりするたびに、必要なパッケージをすべてインポートしなければなりませんが、すべてのパッケージをインポートし直すのは気持ちのいいものではないこともあります。そこで開発されたのがpyforestです。

pyforest 拡張は、Bamboolib 開発者が提供する人気のある Python パッケージを自動的にインポートするものです。このエクステンションは、pandas, numpy, sklearn などの人気のあるパッケージを自動的にインポートするようにワークフローを変換してくれます。リストはこちらで見ることができます。

pyforestエクステンションをインストールしてみましょう。

pip install --upgrade pyforest
python -m pyforest install_extensions


パッケージのインストールが終わったら、Jupyterを再起動してpyforestの自動インポートを行う必要があります。

拡張が起こったかどうか見てみましょう。

上の画像からわかるように、seabornやpandasのパッケージはインポートしていませんが、Jupyter Notebookでは自動的に使用することができます。pyforestエクステンションはこのパッケージを人気のある略語(seabornはsns、pandasはpdなど)で自動的にインポートしてくれます。

pyforestは初期状態ではすべてのパッケージをインポートするのではなく、特定のパッケージを使用するコードを実行する際に必要なパッケージをインポートするので、メモリの割り当てを心配する必要はありません。

3. Jupyterテーマ

jupyter-themesはその名の通り、テーマを変更するためのJupyter Notebookの拡張機能です。この拡張機能は、私たちの描画やpandasのデータフレームなども変更します。したがって、テーマの変更はJupyter Notebookのコンテキストに限定されるものではありません。

jupyter-themesのインストールを試してみましょう。以下のコードでパッケージをインストールすることができます。

pip install jupyterthemes


インストール後、まずコマンドプロンプトで以下のコードを使用して、利用可能なテーマを表示させてみましょう。

jt -l


デフォルトで9つのテーマが用意されています。そのうちの一つ、例えば"chesterish"を試してみましょう。

jt -t chesterish


Jupyter Notebookで変更を確認するには、サーバーを再起動する必要があります。その後、以下の画像のようなノートブックが表示されます。

テーマをデフォルトのテーマに戻すには、次のコードを使用します。

jt -r


jupyter-theme では、色やセル幅の制御、特定のツールバーの非表示など、多くのことを行うことができます。全てのコマンドは彼らのページで読むことができます。

4. jupyter-notify

jupyter-notify 拡張は、ユニットの実行が終了したときに通知してくれる Jupyter Notebook 拡張です。この拡張機能は、時間のかかるモデリング処理やクリーンアップ処理を実行しているときに、待ち時間に他のことをしたい場合に便利です。

まず、以下のコードでパッケージをインストールする必要があります。

pip install jupyternotify


このパッケージをインストールした後、以下のマジックコマンドコードを実行して、Jupyter Notebookにnotificationをロードする必要があります。

%load_ext jupyternotify


設定が完了しましたので、Notebookを起動して通知を受けるようにしてみましょう。例えば、以下のようなコードになります。

%%notify
import time
time.sleep(2)
print('Finish Trying Notifiy')


セル内でマジックコマンド %%notify を使用すると、コードの実行が終了したときに、上に示したような通知が表示されます。もし、特定のメッセージを通知に含めたい場合は、以下の例のようにメッセージを追加することができます。

%%notify -m "Execution done"

time.sleep(2)
print('Finish Trying Notifiy')


magicコマンドの後に-mパラメータを追加すると、メッセージを編集することができます。これは、特定のメッセージを通知する必要がある場合に便利です。

5.ウォーターマークwatermark

watermark 拡張は、Jupyter Notebook 環境を通して、ハードウェア、バージョン、時間などの情報を印刷することができる素晴らしいコマンドです。これは、探索中に情報に素早くアクセスする必要がある場合に便利です。

パッケージをインストールするには、次のコードを使用する必要があります。

pip install watermark


パッケージがインストールされたら、以下のコードを実行することで、Notebookに拡張機能をロードすることができます。

%load_ext watermark


Jupyter Notebookでこの拡張機能を試してみましょう。まず、以下のコードを実行して、ハードウェアの情報を取得します。

%watermark


デフォルトでは、マジックコマンド %watermark がハードウェア情報を提供してくれます。Jupyter Notebook環境でインポートしたパッケージのバージョンなど、多くの情報を得るためにwatermarkを使用することができます。

まとめ

Jupyter Notebookは、データ専門家が使用する最も人気のあるIDEの1つです。このIDEを使用して生産性を高めるために、私はこの記事で5つの拡張機能を紹介しましたので、参考になれば幸いです

技術的な話

転載、ブックマーク、応援よろしくお願いします。

Pythonの生産性を向上させる5つのJupyterノートブックプラグインについてのこの記事はすべてです、より関連するPython Jupyterノートブックプラグインの内容は、スクリプトハウスの過去の記事を検索するか、次の関連記事を参照してください続けるあなたは将来的に多くのスクリプトハウスをサポートして願っています!...