[Python3]JupyterLab

JupyterLabは、Webブラウザ上でPythonプログラムの実行や、実行結果の参照、ドキュメントの作成などが行えるインターフェースです。データ分析や、データの可視化、機械学習などで広く利用されています。

また、対応言語はPythonだけでなく、R言語やJuliaなど、データ分析に特化したプログラミング言語がサポートされています。

ここでは、このJupyterLabについて、使い方を簡単にまとめておきます。

インストール

pip install jupyterlab

起動

JupyterLabの起動

起動コマンド

jupyter lab

実行結果

$ jupyter lab
[I 2023-10-30 23:13:45.900 ServerApp] Package jupyterlab took 0.0000s to import
[I 2023-10-30 23:13:45.946 ServerApp] Package jupyter_lsp took 0.0452s to import

(省略)

  Or copy and paste one of these URLs:
    http://localhost:8888/lab?token=f4b577bc69b906f303be605e5ee9ecb0350b7b5e7e285b31
    http://127.0.0.1:8888/lab?token=f4b577bc69b906f303be605e5ee9ecb0350b7b5e7e285b31

起動画面

実行結果のコンソール上に表示された起動用のURLを開くと、以下のような画面が開きます。

基本的な使い方

Notebookを使う

Pythonコードを実行する

LuncherでNotebook > Python3をクリックすると、「Untitled.ipynb」というNotebookが開きます。ここへPythonコードを記述して実行することができます。

実行するにはコード上で「Shift+Enter」か、上段メニューの▶ボタンで実行します。

変数を展開する

前の実行結果を保持したまま、次のコードを記述して実行することができます。また、コードの最終行を変数で終わると、その変数の中身を出力します。

定義済み変数を利用する

前の実行結果と変数を保持するので、定義した変数を再利用することができます。

グラフを出力する

Matplotlibライブラリを使用して、グラフを出力します。※Matplotlibについては別の機会に記事にします。

ファイル名を変更する

Notebookを保存すると、初回はファイル名を変更するダイアログが出るので、ファイル名を付けて管理することができます。また、左ペインからいつでも変更することも可能です。

マジックコマンド

マジックコマンドはJupyterLab上で実行できる特殊なコマンドです。マジックコマンドを利用すると処理時間を計測したりOSコマンドを実行したりといったことができるようになります。

OSコマンド

「!」に続いてOSコマンドを入力することで、Notebook上で実行することができます。

構文
![OSコマンド]

マジックコマンドの一覧

構文
%lsmagic

※一覧はlineとcellに分かれていて、lineは1行完結型、cellは複数行にわたって記述可能なマジックコマンドを意味します。

マジックコマンドのhelp確認

構文
%magic [任意のマジックコマンド]

以下の例ではプログラムの処理時間を計測するtimeitコマンドについてのヘルプを出力しています。

処理時間計測

%timeit構文(lineマジック)
%timeit -r [試行回数] [処理]
%%timeit構文(cellマジック)
%%timeit -r [試行回数]
[複数行にわたる処理]

以下の例では2通りの方法で、0~9999までの配列を生成しています。cellマジックではセル全体にマジックコマンドが適用されるため、複数行にわたる処理の計測が可能となっています。

計測結果を確認すると、1行完結型のリスト内方式が221マイクロ秒、forループで配列を生成したケースが484マイクロ秒で、前者のほうが速いということが確認できます。

サーバー停止

JupyterLabを終了するには、FileメニューからShut Downをクリックすることで、サーバーが停止しますので、その後ブラウザを終了すればOKです。

ファイル構成

JupyterLab上で保存したNotebookは、JupyterLabを起動したディレクトリに保存されます。

Notebookの拡張子は「.ipynb」で、内容はJSON形式で保存されています。

$ cat jupyterlab-test.ipynb | head -20
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "66909eb4-4e85-4294-af4c-77bb13c37e73",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hello JupyterLab!!\n"
     ]
    }
   ],
   "source": [
    "print(\"Hello JupyterLab!!\")"
   ]
  },

コメント

このブログの人気の投稿

docker-compose up で proxyconnect tcp: dial tcp: lookup proxy.example.com: no such host

docker-compose で起動したweb、MySQLに接続できない事象

【PHP】PHP_CodeSnifferを使う(コーディングルールのカスタマイズ)