Pythonの生産性を向上させる5つのJupyter notebookプラグイン
今回は、生産性を向上させるための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ノートブックプラグインの内容は、スクリプトハウスの過去の記事を検索するか、次の関連記事を参照してください続けるあなたは将来的に多くのスクリプトハウスをサポートして願っています!...
関連
-
[解決済み】TypeError: 文字バッファオブジェクトを期待する
-
[解決済み】npm - "Pythonの実行ファイル「python」が見つかりません。" env変数PYTHONを設定すればOKです。
-
TclError 表示名がない、$DISPLAY 環境変数がない問題が解決されました。
-
[解決済み] AttributeError: モジュール 'matplotlib' には属性 'plot' がありません。
-
[解決済み] python: ループの再スタート
-
[解決済み] Jupyter Notebookに'graphviz'という名前のモジュールがない
-
[解決済み] scikit-learn の TfidfVectorizer 。ValueError: np.nan は無効なドキュメントである。
-
django create project report error ImportError: dajango.core.management という名前のモジュールがありません。
-
Pythonのリクエストで "Max retries exceeded with url "というエラーが発生する。
-
TypeError: 'NoneType' オブジェクトが呼び出し可能でない場合の解決策を文書化する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】torch.stack()とtorch.cat()関数の違いとは?
-
[解決済み】Matlabの'hold on'に相当するPythonの機能
-
[解決済み】Pythonのmapオブジェクトはsubscriptableではない
-
[解決済み] 致命的なエラーです。Python.h: そのようなファイルやディレクトリはありません
-
[解決済み] ImportError: request という名前のモジュールがない
-
[解決済み] TypeError: 'zip' オブジェクトは添え字を付けることができません。
-
[解決済み] なぜnumpyでは負の累乗にできないのですか?
-
[解決済み] pandasシリーズで「データは1次元でなければならない」エラーが発生する
-
[解決済み] Pythonです。pd.DataFrameの行をループする際に「ValueError: can only convert an array of size 1 to a Python scalar」(サイズ1の配列をPythonのスカラーに変換することしかできません。
-
[解決済み] コンパイラのフラグでtensorflowをリビルドするには?