データサイエンティストのための10のJupyter Notebookのヒントとトリック

10 Jupyter Notebook Tips and Tricks for Data Scientists

初心者でもデータプロフェッショナルでも、Jupyter Notebookを使用したことがあるはずで、Pythonコードを実行し、出力をレポート形式で視覚化するのがどれほど簡単かを知っているでしょう。

しかし、Jupyter開発体験を改善する方法があるとしたらどうでしょうか?この記事では、データプロフェッショナルの生産性とパフォーマンスを向上させるための10のJupyter Notebookのヒントについて学びます。

1. キーボードショートカット

キーボードショートカットは、反復的なタスクを実行するために重要であり、時間を節約するために必要です。デフォルトのキーボードショートカットについては、Help > Keyboard Shortcutsを選択するか、Hキーを押すことで学ぶことができます。

コマンドパレットを使用すると、移動中にコマンドにアクセスする最も簡単で一般的な方法です。コマンドパレットを呼び出すには、Ctrl + Shift + Pを押します。これにより、コマンドを検索して実行するか、実行したいコマンドをすべてスクロールして探すことができます。

2. IPython Magicコマンド

Jupyter NotebookでIPython Magicコマンドをすべてアクセスすることができます。これらのコマンドにより、コードの実行に追加の機能が与えられます。

たとえば、%%time Magicコマンドを使用して、セルの実行時間を表示できます。この例では、コードが1000回の反復を実行するのに1.09秒かかりました。

%%time

import time
for i in range(1_000):
    time.sleep(0.001)

CPU times: user 10.2 ms, sys: 1.68 ms, total: 11.9 ms
Wall time: 1.09 s

すべての使用可能なMagicコマンドについては、%lsmagicコマンドを実行するか、組み込みのマジックコマンドを確認してください。

一般的に使用されるコマンドのリスト:

  • %env:環境変数を設定します。
  • %run:Pythonコードを実行します。
  • %store:複数のノートブック間で変数にアクセスするためのものです。
  • %%time:セルの実行時間を表示します。
  • %%writefile:セルの内容をファイルに保存します。
  • %pycat:外部ファイルの内容を表示します。
  • %pdb:デバッグに使用されます。
  • %matplotlib inline:最終行の関数の出力を抑制します。

3. シェルコマンドの実行

Jupyter Notebookのセル内でシェルとBashコマンドを実行することができます。以下のように!を使用します。これにより、UnixまたはLinuxベースのコマンドやツールを実行するための追加機能が提供されます。

!git push origin

このコマンドの最も一般的な使用法は、移動中にPythonパッケージをインストールすることです。

!pip install numpy

また、Magicコマンド%pipを使用してPythonパッケージをインストールすることもできます。

%pip install numpy

4. LaTeXを使用した数式の記述

データ分析レポートを作成する際には、統計的または数学的な式を提供する必要があり、Jupyter Notebookでは、Latex式を使用して複雑な式をレンダリングできます。

Markdownセルを作成し、以下のようにドル$記号でLatex式を囲みます。

$\int \frac{1}{x} dx = \ln \left| x \right| + C$

出力結果:

5. Jupyter Notebookの他のカーネルのインストール

Pythonカーネルについては、すべて知っていますが、他のカーネルをインストールして、任意の言語でコードを実行することもできます。

例えば、Jupyter NotebookでRプログラミング言語を実行したい場合は、Rをインストールし、R環境内でIRkernelをインストールする必要があります。

install.packages('IRkernel')
IRkernel::installspec()

また、Anacondaをインストールしている場合は、ターミナルで以下のコマンドを実行するだけで、Jupyter NotebookのためにRをセットアップできます。

conda install -c r r-essentials

Julia言語の愛好家のために、Jupyter NotebookでJuliaを設定する方法について簡単なガイドを作成しました。

6. 異なるカーネルからコードを実行する

Python Jupyter Notebook内でMagicコマンドを使用して、複数のカーネルからコードを実行することもできます。

  • %%bash
  • %%html
  • %%javascript
  • %%perl
  • %%python3
  • %%ruby

この例では、Pythonカーネル内でHTMLコードを%%HTMLマジックコマンドを使用して実行しようとしています。

%%HTML

<html>

<body>

<h1>Hello World</h1>

<p>Welcome to my website</p>

</body>

</html>

出力:

!と同様に、%%scriptを使用してシェルスクリプトを実行することができます。これにより、マシンにインストールされているすべてのカーネルを実行できます。例えば、Rスクリプトを実行することができます。

%%script R --no-save
print("VoAGI")

出力:

> print("VoAGI")
[1] "VoAGI"
>

7. マルチカーソルのサポート

複数の変数や構文を編集したり、複数のコード行を追加したりするために、複数のカーソルを使用することができます。複数のカーソルを作成するには、Altキーを押しながらマウスをクリックしてドラッグする必要があります。

8. 画像、動画、オーディオの出力

Pythonパッケージを追加インストールせずに、画像、動画、オーディオを表示することができます。

IPython.displayをインポートするだけで、Image、Video、およびAudio関数が使用できます。構造化されていないデータセットや機械学習アプリケーションを扱う場合に非常に役立ちます。

9. 大規模データの処理

IPython Parallelライブラリを使用することで、大規模なデータセットを処理およびクエリすることができます。これは、Jupyterプロトコルに基づいて構築されたIPythonプロセスのクラスタを制御するためのCLIスクリプトのコレクションです。

さらに、sparkmagicコマンドを使用してPySparkセッションを使用することもできます。

sparkmagicリポジトリの例を確認してください。

%%spark -c sql -o df_employee--maxrows 5
SELECT * FROM employee

出力:

 age name
0   40.0    abid
1   20.0    Matt
2   36.0    Chris

10. ノートブックの共有

レポートまたはコードソースを出力付きで共有することは重要です。以下の複数の方法で行うことができます。

  1. ファイル > 名前をつけて保存 > HTMLを使用してノートブックをHTMLファイルに変換します。
  2. ファイル > 名前をつけて保存 > PDFを使用してノートブックをPDFとして保存します。
  3. ファイル > 名前をつけて保存 > Markdownを使用してノートブックをMarkdownとして保存します。
  4. Pelicanを使用してブログを作成します。
  5. .ipynbファイルをGoogle Colabにアップロードし、同僚と共有します。
  6. GitHub Gitsを使用してノートブックファイルを公開します。
  7. クラウドまたは外部サーバーにファイルをホストし、nbviewerを使用してノートブックをレンダリングします。

私のJupyter Notebookの10のヒントリストが役立ったことを願っています。もしあなたがJupyter Notebookの追加の提案やヒントを共有したい場合は、以下のコメントに自由に書き込んでください。読んでいただきありがとうございました。

Abid Ali Awan(@1abidaliawan)は、機械学習モデルの構築が好きな認定データサイエンティストです。現在、彼はコンテンツ作成と機械学習およびデータサイエンス技術に関する技術ブログの執筆に焦点を当てています。Abidはテクノロジーマネジメントの修士号と電気通信工学の学士号を保持しています。彼のビジョンは、心の病に苦しむ学生のためのグラフニューラルネットワークを使用したAI製品の構築です。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more