[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!!\")" ] },
コメント
コメントを投稿