Jupyter-quick-guide

提供:Dev Guides
移動先:案内検索

IPython-はじめに

Project Jupyterは、インタラクティブコンピューティングで使用されるソフトウェア製品のスイートです。 IPythonは元々、2001年にFernando Perezによって拡張されたPythonインタープリターとして開発されました。 IPythonノートブック形式のIPython端末へのWebベースのインターフェイスは、2011年に導入されました。 2014年、Project JupyterはIPythonからのスピンオフプロジェクトとしてスタートしました。

Jupyterプロジェクトのパッケージには次のものが含まれます-

  • Jupyter Notebook -Python、Julia、Rなどのプログラミング環境へのWebベースのインターフェース
  • QtConsole -IPythonに似たJupyterカーネル用のQtベースのターミナル
  • nbviewer -Jupyterノートブックを共有する機能
  • JupyterLab -すべての製品の最新のWebベースの統合インターフェース。

Pythonの標準ディストリビューションには、 >>> プロンプトのあるPythonシェルの形式の* REPL(読み取り-評価-印刷ループ)*環境が付属しています。 IPython(Interactive Pythonの略)は、標準のPythonシェルと比較して多くの機能を備えたPython用の拡張された対話型環境です。

IPythonの機能

IPythonは、標準のPythonよりも多くの機能を提供します。 彼らは次のとおりです-

  • 強力な対話型Pythonシェルを提供します。
  • JupyterノートブックおよびProject Jupyterのその他のフロントエンドツールのメインカーネルとして機能します。
  • オブジェクトのイントロスペクション機能を備えています。 イントロスペクションは、実行時にオブジェクトのプロパティをチェックする機能です。
  • 構文の強調表示
  • インタラクションの履歴を保存します。
  • キーワード、変数、関数名のタブ補完。
  • Python環境の制御およびOSタスクの実行に役立つマジックコマンドシステム。
  • 他のPythonプログラムに埋め込む機能。
  • Pythonデバッガーへのアクセスを提供します。

歴史と発展

IPythonは、もともと2001年にフェルナンドペレスによって開発されました。 現在のバージョンはIPython7.0.1で、Python 3.4以降が必要です。 IPython 6.0は、Python 3をサポートする最初のバージョンです。 Python 2.7をお持ちのユーザーは、IPythonのバージョン2.0から5.7で作業する必要があります

計算ノートブックの概念は、MATLABとMathematicaがリリースされた80年代に始まりました。 対話型シェルのこれらのGUIフロントエンドには、テキストの書式設定、グラフィックス、テーブルの追加、数学記号の追加などの機能がありました。 Sageノートブックは、Webベースのノートブックでもあります。

IPythonの作成者は、2005年にIPythonシェルのノートブックインターフェイスの作業を開始しました。 IPythonノートブックはすぐにRやJuliaなどの他の言語のサポートを追加しました。 2014年に、PerezがJupyterプロジェクトをIPythonからのスピンオフプロジェクトとして開始したのは、IPythonプロジェクトがノートブックサーバーやQtコンソールなどの製品で大きくなりつつあるためです。

IPython 4.0以降、追加のコンポーネントはすべてProject Jupyterに移行され、IPythonノートブックに他の言語のサポートが追加されました。 IPythonは、強化されたインタープリター機能の改善に引き続き注力しています。 また、Jupyterノートブックフロントエンドにプライマリカーネルを提供します。

IPython-インストール

IPythonは、PythonのAnacondaディストリビューションにデフォルトで含まれています。 Anacondaのダウンロードページhttps://www.anaconda.com/download/[www.anaconda.com/download/]からダウンロードできます。すべての主要なOS(Windows、MacOS、Linux)およびアーキテクチャ(32ビットおよび64ビット)のバイナリ)はこのリンクから入手できます。

標準のPythonインストールでIPythonを個別にインストールするには、以下に示すようにpipコマンドを使用できます-

pip3 install ipython

IPythonは内部的に次のパッケージを使用します-

Sr.No. IPython dependencies & Functionality
1

colorama

Pythonから色付きの端末テキストを印刷するためのクロスプラットフォームAPI

2

jedi

Python用のオートコンプリートツール

3

pickleshare

並行性をサポートするデータストアのような小さな「棚」

4

prompt_toolkit

Pythonで強力なインタラクティブコマンドラインを構築するためのライブラリ

5

pygments

Pythonで書かれた構文強調パッケージ

6

simplegeneric

単純な汎用関数

7

traitlets

Pythonアプリケーションの構成システム。

一般に、すべての依存関係は自動的にインストールされます。 それ以外の場合は、pipを使用して個別にインストールできます。

IPython-はじめに

この章では、IPythonでの作業を開始する方法について説明します。

コマンドプロンプトからIPythonを起動します。

IPythonの詳細を理解する前に、通常の >>> の代わりに、以下で説明する2つの主要なPythonプロンプトが表示されることに注意してください-

  • In [1] は、入力式の前に表示されます。
  • Out [1] は、出力が表示される前に表示されます。

また、角括弧内の数字は自動的に増加します。 より良い理解のために、次のスクリーンショットを観察します-

IPythonコマンドプロンプト

ここで、PythonのAnacondaディストリビューションをインストールした場合、スタートメニューからAnacondaプロンプトを開きます。

アナコンダプロンプト

condaプロンプトからIPythonを起動します

通常のPythonコンソールと比較すると、違いがわかります。 IPythonシェルは、式、関数、変数などの要素ごとに異なる配色を使用して、構文の強調表示を示します。

IPythonシェル

別の便利な拡張機能はタブ補完です。 各オブジェクトには、そのクラスで定義されているように1つ以上のメソッドが使用できることがわかっています。 IPythonは、オブジェクトの前でドットの後にTabキーを押すと、メソッドの適切なリストをポップアップします。

次の例では、文字列が定義されています。 応答として、文字列クラスのメソッドが表示されます。

文字列クラスのメソッド

IPythonは、オブジェクトの前に「?」を付けることで、オブジェクトの情報を提供します。 docstring、関数定義、およびクラスのコンストラクターの詳細が含まれます。 たとえば、上記で定義した文字列オブジェクトvarを調べるには、入力プロンプトに* var?*と入力します。 結果には、それに関するすべての情報が表示されます。 理解を深めるために、以下のスクリーンショットを確認してください-

IPython Info

マジック関数

IPythonの組み込みのマジック関数は非常に強力です。 マジック関数には2つのタイプがあります。

  • ラインマジック。DOSコマンドと非常によく似ています。
  • セルマジック。複数行のコードで機能します。

ラインマジック関数とセルマジック関数については、以降の章で詳しく説明します。

IPython-Pythonスクリプトの実行と編集

この章では、Pythonスクリプトを実行および編集する方法を理解しましょう。

コマンドを実行

入力プロンプトで run コマンドを使用して、Pythonスクリプトを実行できます。 runコマンドは実際にはラインマジックコマンドであり、実際には*%run として記述する必要があります。 ただし、%automagic *モードはデフォルトで常にオンになっているため、これは省略できます。

In [1]: run hello.py
Hello IPython

編集コマンド

IPythonは、編集マジックコマンドも提供します。 オペレーティングシステムのデフォルトエディターを起動します。 Windowsのメモ帳エディターで開くことができ、スクリプトを編集できます。 入力を保存した後に閉じると、変更されたスクリプトの出力が表示されます。

In [2]: edit hello.py
Editing... done. Executing edited code...
Hello IPython
welcome to interactive computing

hello.pyには最初は1つのステートメントしか含まれておらず、編集後にもう1つのステートメントが追加されていることに注意してください。 編集コマンドにファイル名が指定されていない場合、一時ファイルが作成されます。 同じことを示す次のコードを観察します。

In [7]: edit
IPython will make a temporary file named:
C:\Users\acer\AppData\Local\Temp\ipython_edit_4aa4vx8f\ipython_edit_t7i6s_er.py
Editing... done. Executing edited code...
magic of IPython
Out[7]: 'print ("magic of IPython")'

IPython-履歴コマンド

IPythonは、現在のセッションのコマンドとその結果の両方を保持します。 上キーと下キーを押すことで、前のコマンドをスクロールできます。

また、出力の最後の3つのオブジェクトは、特別な変数_、、および_に格納されます。 history magicコマンドは、以下のスクリーンショットに示すように、現在のセッションの以前のコマンドを表示します-

履歴コマンド

IPython-システムコマンド

入力セル内のステートメントが感嘆符(!)で始まる場合、そのオペレーティングシステムのシステムコマンドとして扱われます。 たとえば、!ls *(Linuxの場合)および!dir *(Windowsの場合)は、現在のディレクトリの内容を表示します

感嘆符(!)コマンド

システムコマンドの出力は、以下に示すようにPython変数に割り当てることもできます-

システムコマンドの出力

変数は出力を色なしで保存し、改行文字で分割します。

Pythonの変数または式をシステムコマンドコールと組み合わせることもできます。 中括弧で囲まれた変数\ {}は、コマンドテキストに埋め込むことができます。 次の例を観察してください-

システムコマンド呼び出し

Python変数に接頭辞$を付けても同じ結果が得られることを理解する別の例を次に示します。

Python変数のプレフィックス

IPython-コマンドラインオプション

この章では、IPythonでさまざまなコマンドラインオプションを操作する方法を理解しましょう。

IPythonプログラムの呼び出し

次のオプションを使用してIPythonプログラムを呼び出すことができます-

C:\python36> ipython [subcommand] [options] [-c cmd | -m mod | file] [--] [arg]

ファイルオプションは、拡張子が.pyのPythonスクリプトです。 他のオプションが指定されていない場合、スクリプトが実行され、コマンドプロンプトが再表示されます。

C:\python36>ipython hello.py
Hello IPython
welcome to interactive computing

サブコマンドとパラメーター

IPythonコマンドは、次のサブコマンドオプションを受け入れます-

  • プロファイル-IPythonプロファイルを作成および管理します。
  • Kernel -フロントエンドが接続されていないカーネルを起動します。
  • Locate -IPython dirへのパスを出力します。
  • 履歴-IPython履歴データベースを管理します。

IPythonプロファイルサブコマンドは、次のパラメータを受け入れます-

  • ipython profile create myprofile -新しいプロファイルを作成します。
  • ipython profile list -利用可能なすべてのプロファイルを一覧表示します。
  • ipython Locate profile myprofile -必要なプロファイルを見つけます。

新しいIPythonカーネルをインストールするには、次のコマンドを使用します-

Ipython kernel –install –name

IPythonディレクトリへのパスを印刷するには、次のコマンドを使用します-

C:\python36>ipython locate myprofile
C:\Users\acer\.ipython

その上、我々はそれを知っています-

  • history サブコマンドは、IPython履歴データベースを管理します。
  • trim オプションは、IPython履歴データベースを最後の1000エントリに減らします。
  • clear オプションは、すべてのエントリを削除します。

IPythonの他の重要なコマンドラインオプションのいくつかを以下に示します-

Sr.No. IPython Command & Description
1

--automagic

マジックコマンドの自動呼び出しをオンにします。

2

--pdb

すべての例外の後、pdbデバッガーの自動呼び出しを有効にします。

3

--pylab

デフォルトのmatplotlibバックエンドでインタラクティブに使用するために、matplotlibとnumpyをプリロードします。

4

--matplotlib

デフォルトのmatplotlibバックエンドで対話的に使用するためにmatplotlibを設定します。

5

--gui=options

(「glut」、「gtk」、「gtk2」、「gtk3」、「osx」、「pyglet」、「qt」、「qt4」、「qt5」、「tk」、「 wx '、' gtk2 '、' qt4 ')。

IPythonコマンドラインオプションのいくつかの使用例は、次の表に示されています-

Sr.No. IPython Command & Description
1

ipython --matplotlib

matplotlib統合を有効にする

2

ipython --matplotlib=qt

matplotlibとqt4バックエンドの統合を有効にします

3

ipython --profile=myprofile

プロファイルfooで開始

4

ipython profile create myprofile

デフォルトの設定ファイルでプロファイルfooを作成

5

ipython help profile

profile subcmdのヘルプを表示します

6

ipython locate

IPythonディレクトリへのパスを出力します

7

ipython locate profile myprofile

プロファイル「myprofile」のディレクトリへのパスを出力します

IPython-動的オブジェクトイントロスペクション

IPythonには、Pythonオブジェクトに関する情報を動的に取得するさまざまな方法があります。 この章では、IPythonでの動的オブジェクトイントロスペクションの方法を学びましょう。

?*および *?? を使用すると、オブジェクトに関する特定の詳細情報が提供されます。 以下で説明する最初の例では、単純な整数オブジェクトaが作成されます。 その情報は、?と入力することで入手できます。 入力セル内。

IPythonの動的オブジェクトイントロスペクション

2番目の例では、関数を定義し、この関数オブジェクトを*?および *?? でイントロスペクトします。

関数とイントロスペクト

マジック関数*%psearch は、オブジェクト情報を取得するためにまたは *?? を使用するのと同等です。

IPython-IOキャッシング

IPythonコンソールの入力および出力セルには、増分番号が付けられます。 この章では、PythonでのIOキャッシュについて詳しく見ていきましょう。

IPythonでは、入力は上矢印キーを使用して取得されます。 また、以前の入力はすべて保存され、取得できます。 変数 ii 、および '''' i は、常に前の3つの入力エントリを格納します。 さらに、 In および _in 変数は、すべての入力のリストを提供します。 明らかに _in [n] はn番目の入力セルから入力を取得します。 次のIPythonセッションは、この現象を理解するのに役立ちます-

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 2

In [5]: pow(x,y)
Out[5]: 100

In [6]: _iii, _ii, _i
Out[6]: ('x = 10', 'y = 2', 'pow(x,y)')

In [7]: In
Out[7]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In'
]

In [8]: In[5] 9. IPython — IO
Out[8]: 'pow(x,y)'

In [9]: _ih
Out[9]:
['',
   'print ("Hello")',
   '2+2',
   'x = 10',
   'y = 2',
   'pow(x,y)',
   '_iii, _ii, _i',
   'In',
   'In[5]',
   '_ih'
]

In [11]: _ih[4]
Out[11]: 'y = 2'

In [12]: In[1:4]
Out[12]: ['print ("Hello")', '2+2', 'x=10']

同様に、シングル、ダブル、トリプルのアンダースコアは、前の3つの出力を保存する変数として機能します。 また、 Out および _oh は、セル番号のディクショナリオブジェクトと、アクションを実行するセルの出力を形成します(割り当てステートメントは含まれません)。 特定の出力セルの内容を取得するには、 Out [n] または _oh [n] を使用します。 スライスを使用して、範囲内の出力セルを取得することもできます。

In [1]: print ("Hello")
Hello

In [2]: 2+2
Out[2]: 4

In [3]: x = 10

In [4]: y = 3

In [5]: pow(x,y)
Out[5]: 1000

In [6]: ___, __, _
Out[6]: ('', 4, 1000)

In [7]: Out
Out[7]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [8]: _oh
Out[8]: {2: 4, 5: 1000, 6: ('', 4, 1000)}

In [9]: _5
Out[9]: 1000

In [10]: Out[6]
Out[10]: ('', 4, 1000)

デフォルトのPython環境としてIPythonを設定する

さまざまな環境変数がPythonの動作に影響します。 PYTHONSTARTUP環境変数はPythonスクリプトに割り当てられます。 結果として、このスクリプトはPythonプロンプトが表示される前に実行されます。 これは、新しいPythonセッションが開始されるたびに特定のモジュールがデフォルトでロードされる場合に便利です。

次のスクリプト(start.py)は、IPythonモジュールをインポートし、start_ipython()関数を実行して、Python実行可能ファイルが呼び出されたときにデフォルトのPythonシェルをプロンプト*(>>>)*でIPythonシェルに置き換えます。

import os, IPython
os.environ['PYTHONSTARTUP'] = ''
IPython.start_ipython()
raise SystemExit

このファイルがPythonのインストールディレクトリ(c:\ python36)に保存されていると仮定して、PYTHONSTARTUP環境変数を設定し、コマンドラインからPythonを起動します。 次に、IPythonシェルが次のように表示されます-

Pythonのインストールディレクトリ

環境変数は、Windowsでは[システムのプロパティ]ダイアログを使用し、Linuxではexportコマンドを使用して永続的に設定できることに注意してください。

IPython-Pythonシェルコードのインポート

IPythonは、デフォルトの >>> プロンプトと別のIPythonセッションで標準Pythonコンソールから読み取ることができます。 次のスクリーンショットは、標準のPythonシェルで書かれたforループを示しています-

標準Pythonシェルループ

コードを(Pythonプロンプトとともに)コピーして、IPython入力セルに貼り付けます。 IPythonは、入力プロンプト(>>>および…​)またはIPythonプロンプト([N]:および…​ :)をインテリジェントに除外します。

IPython入力セル

同様に、あるIPythonセッションのコードを別のセッションに貼り付けることができます。 以下の最初のスクリーンショットは、1つのIPythonウィンドウでのSayHello()関数の定義を示しています-

IPythonウィンドウ

次に、コードを選択して別のIPythonシェルに貼り付け、SayHello()関数を呼び出します。

IPython shell Cmd

IPythonの埋め込み

IPythonモジュールのembed()関数を使用すると、Pythonコードの名前空間にIPythonを埋め込むことができます。 これにより、デフォルトのPython環境で、オブジェクトのイントロスペクションやタブ補完などのIPython機能を活用できます。

IPythonモジュール

埋め込み前にグローバル名前空間に存在するPythonオブジェクトは、IPythonで利用可能になります。

Pythonオブジェクト

IPythonで新しいオブジェクトが形成されたり、以前のオブジェクトが変更された場合、IPythonを終了した後、それらはデフォルト環境で自動的に利用可能になります。 埋め込みIPythonシェルは、以前のコードまたはオブジェクトの状態を変更しません。

ただし、関数内などのローカル名前空間にIPythonが埋め込まれている場合、その内部のオブジェクトは閉じられると使用できなくなります。 ここで、関数add()を定義しました。 add()内でIPythonを呼び出し、変数を宣言しました。 IPythonを閉じた後に変数にアクセスしようとすると、NameError例外が発生します。

IPython NameError Exception

IPython-マジックコマンド

マジックコマンドまたはマジック関数は、標準のPythonシェルと比較してIPythonが提供する重要な機能強化の1つです。 これらの魔法のコマンドは、Pythonを使用したデータ分析の一般的な問題を解決することを目的としています。 実際、IPython自体の動作を制御します。

マジックコマンドは、Python構文が最も自然な構文ではない便利な機能として機能します。 無効なPython構文をワークフローに埋め込むのに役立ちます。

マジックコマンドの種類

魔法のコマンドには2種類あります-

  • ラインマジック
  • セルマジック

ラインマジック

それらはコマンドラインコールに似ています。 それらは%文字で始まります。 行の残りは、括弧または引用符なしで渡される引数です。 ラインマジックは式として使用でき、戻り値は変数に割り当てることができます。

セルマジック

%%文字のプレフィックスがあります。 ラインマジック関数とは異なり、呼び出しの下で複数の行を操作できます。 実際には、受け取った入力に任意の変更を加えることができます。これは、有効なPythonコードである必要さえありません。 ブロック全体を単一の文字列として受け取ります。

マジック関数、組み込みのマジック、およびそれらのdocstringについて詳しく知るには、magicコマンドを使用します。 特定のマジック関数の情報は、%* magicfunction?*コマンドによって取得されます。 ここで、組み込みの行とセルのマジックコマンドのいくつかを説明しましょう。

組み込みのラインマジック

%autocall [mode]

このマジック関数は、括弧を使用せずに関数を自動的に呼び出し可能にします。 3つの可能なモードパラメータを取ります:* 0(オフ)、1(スマート)はデフォルト*または* 2(常にオン)*です。

ビルトインラインマジック

%automagic

マジック関数は、1に設定されている場合、最初の%を入力することなく呼び出し可能です。 引数なしで、オン/オフを切り替えます。 無効にするには、0に設定します。

次の例は、%automagicが1に設定されているときに、先頭に%を付けずに呼び出されるマジック関数*%pwd *(現在の作業ディレクトリを表示)を示しています。

%automagic

%cd

この行の魔法は、現在のディレクトリを変更します。 このコマンドは、IPythonセッション中にアクセスするディレクトリの内部リストを変数_dhに自動的に保持します。 「cd-<tab>」を実行して、ディレクトリの履歴を簡単に確認することもできます。

%cd

使用法

%cdコマンドは、次の方法で使用することができます-

  • *%cd <dir> *-現在の作業ディレクトリを<dir>に変更します
  • *%cd .. *-現在のディレクトリを親ディレクトリに変更します
  • *%cd *-最後にアクセスしたディレクトリに変更します。

%dhist

このマジックコマンドは、現在のセッションでアクセスしたすべてのディレクトリを出力します。 %cdコマンドが使用されるたびに、このリストは _dh 変数で更新されます。

%dhist

%編集

この魔法のコマンドは、Pythonスクリプトを編集するために、現在のオペレーティングシステム(Windows用のメモ帳)のデフォルトのテキストエディターを呼び出します。 エディターが閉じられると、スクリプトが実行されます。

%env

この魔法のコマンドは、すべての環境変数をリストします。 また、特定の変数の値を読み取るか、環境変数の値を設定します。

使用法

%cdコマンドは、次の方法で使用することができます-

  • *%env *-すべての環境変数をリストします
  • *%env var *-varの値を取得
  • *%env var val *-varの値を設定

%env

%gui [GUINAME]

引数なしで使用すると、このコマンドはIPython GUIイベントループ統合を有効または無効にします。 GUINAME引数を使用すると、このマジックはデフォルトのGUIツールキットを指定されたツールキットに置き換えます。

Sr.No. Command & Description
1

%gui wx

wxPythonイベントループ統合を有効にする

2 *%gui qt4

qt*

PyQt4イベントループ統合を有効にする

3

%gui qt5

PyQt5イベントループ統合を有効にする

4

%gui gtk

PyGTKイベントループ統合を有効にする

5

%gui gtk3

Gtk3イベントループ統合を有効にする

6

%gui tk

Tkイベントループ統合を有効にする

7

%gui osx

Cocoaイベントループ統合を有効にする

8
(requires %matplotlib 1.1) 9

%lsmagic

現在利用可能なすべてのマジック機能を表示します

%lsmagic

%matplotlib

この関数は、IPythonセッション中にmatplotlibインタラクティブサポートをアクティブにします。 ただし、matplotlibライブラリはインポートしません。 matplotlibのデフォルトのGUIツールキットはTkAggです。 ただし、別のGUIバックエンドを明示的に要求できます。 次のように利用可能なバックエンドのリストを見ることができます-

In [4]: %matplotlib --list
Available matplotlib backends:
['osx', 'qt4', 'qt5', 'gtk3', 'notebook', 'wx', 'qt', 'nbagg','gtk', 'tk', 'inline']

ここに示すIPythonセッションは、 qt ツールキットを使用して正弦波をプロットします-

%matplotlib

Jupyter Notebookを使用している場合、%matplotlibインラインディレクティブは、ブラウザーにのみプロット出力を表示します。

%ノート

この関数は、現在のIPython履歴を、ipynb拡張子を持つIPythonノートブックファイルに変換します。 前の例の入力セルは、sine.ipynbとして保存されます

%notebook sine.ipynb

%pinfo

この関数はオブジェクトのイントロスペクションに似ていますか? キャラクター。 オブジェクトに関する情報を取得するには、次のコマンドを使用します-

%pinfo object

これは* object?または?object *と同義です。

%精度

このマジック関数は、浮動小数点の結果を、10進数の後の指定された桁に制限します。

%precision

%pwd

このマジック関数は、現在の作業ディレクトリを返します。

%pwd

%pylab

この関数は、現在のIPythonセッションにmatplotlibおよびnumpyライブラリを取り込みます。

%pylab

%想起

パラメータなしで実行すると、この関数は前のコマンドを実行します。

  • %recall n *では、その前の数字が入力セル番号であることに注意してください。 したがって、n番目のセルのコマンドが呼び出されます。 *%recall 1-4 *などのコマンドを使用して、セルのセクションでコマンドを呼び出すことができます。 現在の入力セルにはリコールされたセルが表示され、Enterキーが押されるまでカーソルが点滅します。

%recall

%run

このコマンドは、IPythonシェル内からPythonスクリプトを実行します。

%run

%時間

このコマンドは、Python式を実行するためにIPython環境に必要な時間を表示します。

%time

%timeit

この関数は、Python式を実行するためにIPython環境で必要な時間も表示します。 Pythonステートメントまたは式の時間実行は、timeitモジュールを使用します。 この関数は、ここで説明されているように、ラインとセルマジックの両方として使用できます-

  • *行モード*では、単一行の時間を計ることができます。
  • *セルモード*では、最初の行のステートメントがセットアップコードとして使用され、セルの本体の時間が計測されます。 セル本体は、セットアップコードで作成された変数にアクセスできます。

%who

この行の魔法は、いくつかの最小限の書式設定で、すべての対話型変数を印刷します。 引数が指定されている場合、これらのいずれかに一致するタイプの変数のみが出力されます。

%who

IPythonカスタムラインマジック関数

IPythonのコアライブラリにはregister_line_magicデコレータが含まれています。 ユーザー定義関数は、このデコレータを使用してラインマジック関数に変換されます。

IPythonカスタムラインマジック関数

プロジェクトJupyter-概要

Project Jupyterは、2014年にIPythonプロジェクトからのスピンオフとして始まりました。 IPythonの言語に依存しない機能は、Jupyterという名前で移動されました。 この名前は、Jupyterがサポートするコアプログラミング言語への参照です。Jupyterプロジェクトでは、Julia、Python、およびRProductsは、インタラクティブなデータサイエンスと科学コンピューティングをサポートすることを目的としています。

プロジェクトJupyterは、以下のように説明されているさまざまな製品で構成されています-

  • IPykernel -これはJupyterにIPythonカーネルを提供するパッケージです。
  • * Jupyterクライアント*-このパッケージには、Jupyterプロトコルのリファレンス実装が含まれています。 また、Jupyterカーネルを起動、管理、および通信するためのクライアントライブラリです。
  • Jupyter Notebook -これは、以前はIPython Notebookとして知られていました。 これは、IPythonカーネルお​​よび他の多くのプログラミング言語のカーネルへのWebベースのインターフェイスです。
  • * Jupyterカーネル*-カーネルは、Jupyter製品のプログラミング言語の実行環境です。

Jupyterカーネルのリストは以下のとおりです-

Kernel Language URL
IJulia Julia https://github.com/JuliaLang
IHaskell Haskell https://github.com/gibiansky
IRuby Ruby https://github.com/SciRuby/iruby
IJavaScript JavaScript https://github.com/n-riesco
IPHP PHP https://github.com/dawehner
IRKernel R http://irkernel.github.io/
  • Qtconsole -Jupyterカーネルを操作するための豊富なQtベースのコンソール
  • nbconvert -他の形式のJupyterノートブックファイルを変換します
  • JupyterLab -ノートブック、エディター、コンソールなどのWebベースの統合インターフェース
  • nbviewer -ノートブックファイル用のHTMLビューアー

Jupyter Notebook-はじめに

IPythonノートブックは、Fernando Perezによって、WebベースのIPythonカーネルのフロントエンドとして開発されました。 複数言語用の統合されたインタラクティブコンピューティング環境を作成するための取り組みとして、NotebookプロジェクトはProject Jupyterに移行し、Pythonに加えてプログラミング環境JuilaおよびRのフロントエンドを提供しました。

ノートブックドキュメントは、HTML形式のテキスト、図、数式などを含むリッチテキスト要素で構成されます。 ノートブックは、Pythonまたはその他のサポート言語のコードブロックで構成される実行可能ドキュメントでもあります。

Jupyterノートブックは、クライアント/サーバーアプリケーションです。 アプリケーションは、ローカルマシンでサーバーを起動し、Webブラウザーでノートブックインターフェイスを開き、そこから編集して実行できます。 ノートブックはipynbファイルとして保存され、html、pdf、およびLaTexファイルとしてエクスポートできます。 Jupyter-notebook-working-with-jupyter-online

インストールと開始

pipパッケージマネージャーを使用してJupyterノートブックアプリケーションを簡単にインストールできます。

pip3 install jupyter

アプリケーションを起動するには、コマンドプロンプトウィンドウで次のコマンドを使用します。

c:\python36>jupyter notebook

サーバーアプリケーションはデフォルトのポート番号8888で実行を開始し、ブラウザウィンドウが開いてノートブックダッシュボードが表示されます。

Jupyter Notebook Dashboard

ダッシュボードのブラウザーの右端付近にドロップダウンが表示され、[新規]ボタンの横に矢印が表示されます。 現在利用可能なノートブックカーネルが含まれています。 ここで、Python 3を選択すると、新しいノートブックが新しいタブで開きます。 IPythonコンソールの入力セルと同様の入力セルが表示されます。

その中で任意のPython式を実行できます。 結果はOutセルに表示されます。

結果セル

Jupyterノートブック-ダッシュボード

Jupyter Notebookのダッシュボードには、以下のスクリーンショットに示すように3つのタブが含まれています-

Jupyter Dashboard

ファイルタブ

[ファイル]タブには、ノートブックアプリが起動された現在のディレクトリの下のファイルとフォルダーが表示されます。 現在開いているノートブックに対応する行と実行ステータスは、最後に変更された列の横に表示されます。 また、ファイルをノートブックサーバーにアップロードできる[アップロード]ボタンも表示されます。

ランニングタブ

「実行中」タブには、現在実行中のノートブックが表示されます。

クラスタータブ

3番目のタブ「クラスター」は、IPython parallelによって提供されます。 IPythonの並列コンピューティングフレームワーク、IPythonカーネルの拡張バージョン。

[新規]ドロップダウンから[ターミナル]を選択して、cmdウィンドウを開きます。 ここでIPythonターミナルを起動できます。

IPythonターミナル

Jupyterノートブック-ユーザーインターフェイス

Jupyterのユーザーインターフェイスでは、ヘッダーのロゴの横にファイル名が表示されます。

Jupyterファイル名の作成

ヘッダーの下にメニューバーがあります。 各メニューには、後で説明する多くのオプションが含まれています。

Jupyter Notebook MenuBar

ツールバーを形成するアイコンの列は、ユーザーが頻繁に必要な操作を実行するのに役立ちます

Jupyter Notebook ToolBar

このノートブックには、*コマンドモード*と*編集モード*の2つのモードがあります。 セルがクリックされると、ノートブックは編集モードに入ります。 カーネルの名前の横に鉛筆の記号があります。

Jupyter Notebook Editmode

カーネルインジケータシンボルは、カーネル名の右側に表示されます。 白丸はカーネルがアイドル状態であり、黒丸はビジーであることを意味することに注意してください。

Jupyter Notebook Kernel Indicator

ファイルメニュー

以下は、[ファイル]メニューで利用可能なオプションです-

Sr.No. File menu & Description
1

New notebook

新しいノートブックを起動するカーネルを選択します

2

Open

ユーザーをダッシュ​​ボードに移動して、開くノートブックを選択します

3

Save as

現在のノートブックを保存し、新しいカーネルを起動します

4

Rename

現在のノートブックの名前を変更

5

Save

現在のノートブックを保存し、現在のチェックポイントを保存します

6

Revert

ノートブックの状態を以前のチェックポイントに戻します

7

Download

さまざまなファイル形式のいずれかでノートブックをエクスポートする

利用可能なファイル形式は以下に示されています-

ファイル形式

編集メニュー

編集メニューは、セルの切り取り、コピーと貼り付け、選択したセルの削除、セルの分割と結合、セルの上下移動、ノートブック内での検索と置換、添付ファイルの切り取り/コピー、画像の挿入を行うボタンで構成されています。

メニューを見る

このメニューのボタンは、ヘッダー、ツールバー、セル番号を非表示/表示するのに役立ちます。

挿入メニュー

このメニューには、現在のセルの前または後にセルを挿入するオプションがあります。

セルメニュー

このメニューのオプションにより、ユーザーはノートブックのすべてまたは特定のセルを実行できます。 セルタイプをコードタイプ、マークダウン、または生のnbconvertタイプに設定することもできます。

カーネルメニュー

このメニューから、カーネルを起動、中断、再起動、またはシャットダウンできます。 新しいカーネルを起動することもできます。

ウィジェットメニュー

このメニューから、ウィジェットの状態を保存、消去、ダウンロード、または埋め込むことができます。

ヘルプメニュー

このメニューから、さまざまな定義済みのキーボードショートカットが表示されます。 ショートカットを編集することもできます。

Jupyter Notebook-セルの種類

Jupyterノートブックのセルには、 Code、MarkdownRaw の3つのタイプがあります。

コードセル

このセルの内容は、現在のカーネルのプログラミング言語のステートメントとして扱われます。 デフォルトのカーネルはPythonです。 そのため、コードセルにPythonステートメントを記述できます。 そのようなセルが実行されると、その結果が出力セルに表示されます。 出力は、テキスト、画像、matplotlibプロットまたはHTMLテーブルです。 コードセルにはリッチテキスト機能があります。

マークダウンセル

これらのセルには、マークダウン言語を使用してフォーマットされたテキストが含まれています。 テキストを太字および斜体にする、順序付きまたは順序なしのリストを表示する、表形式のコンテンツをレンダリングするなど、あらゆる種類のフォーマット機能を使用できます。 マークダウンセルは、ノートブックの計算プロセスにドキュメントを提供するのに特に役立ちます。

生細胞

生セルの内容は、ノートブックカーネルによって評価されません。 nbconvertを通過すると、必要に応じてレンダリングされます。 生のセルにLatExと入力すると、nbconvertが適用された後にレンダリングが行われます。

生セル

Jupyter Notebook-編集

メニューバーとツールバーを使用してノートブックでさまざまな操作を実行できますが、キーボードショートカットを使用してすばやく操作できることが望ましいです。

Jupyterノートブックには2つの異なるキーボード入力モードがあります-

  • コマンドモード-キーボードをノートブックレベルのアクションにバインドします。 灰色のセルの境界線と青い左マージンで示されます。
  • 編集モード-セルに入力しているとき。 緑色のセルの境界線で示されます。

コマンドモード(Escキーを押して有効にします)

F find and replace 1 change cell to heading 1
Ctrl-Shift-F open the command palette 2 change cell to heading 2
Ctrl-Shift-P open the command palette 3 change cell to heading 3
Enter enter edit mode 4 change cell to heading 4
P open the command palette 5 change cell to heading 5
Shift-Enter run cell, select below 6 change cell to heading 6
Ctrl-Enter run selected cells A insert cell above
Alt-Enter run cell and insert below B insert cell below
Y change cell to code X cut selected cells
M change cell to markdown C copy selected cells
R change cell to raw V paste cells below
K select cell above Z undo cell deletion
Up select cell above D,D delete selected cells
Down select cell below Shift-M merge selected cells, or current cell with cell below if only one cell is selected
J select cell below Shift-V paste cells above
Shift-K extend selected cells above L toggle line numbers
Shift-Up extend selected cells above O toggle output of selected cells
Shift-Down extend selected cells below Shift-O toggle output scrolling of selected cells
Shift-J extend selected cells below I,I interrupt the kernel
Ctrl-S Save and Checkpoint 0,0 restart the kernel (with dialog)
S Save and Checkpoint Esc close the pager
Shift-L toggles line numbers in all cells, and persist the setting Q close the pager
Shift-Space scroll notebook up Space scroll notebook down

編集モード(Enterを押して有効にします)

Tab code completion or indent Ctrl-Home go to cell start
Shift-Tab tooltip Ctrl-Up go to cell start
Ctrl-] indent Ctrl-End go to cell end
Ctrl-[ dedent Ctrl-Down go to cell end
Ctrl-A select all Ctrl-Left go one word left
Ctrl-Z undo Ctrl-Right go one word right
Ctrl-/ comment Ctrl-M enter command mode
Ctrl-D delete whole line Ctrl-Shift-F open the command palette
Ctrl-U undo selection Ctrl-Shift-P open the command palette
Insert toggle overwrite flag Esc enter command mode
Ctrl-Backspace delete word before Ctrl-Y redo
Ctrl-Delete delete word after Alt-U redo selection
Shift-Enter run cell, select below Ctrl-Shift-Minus split cell at cursor
Ctrl-Enter run selected cells Down move cursor down
Alt-Enter run cell and insert below Up move cursor up
Ctrl-S Save and Checkpoint **

Jupyter Notebook-マークダウンセル

マークダウンセルには、マークダウン言語を使用してフォーマットできるテキストが表示されます。 Notebookサーバーによってコードとして扱われるべきではないテキストを入力するには、まずセルメニューから、またはコマンドモードでキーボードショートカットMを使用して、マークダウンセルとして変換する必要があります。 セルが消える前のIn []プロンプト。

ヘッダーセル

マークダウンセルには、HTMLヘッダーと同様に、6サイズのヘッダーテキストを表示できます。 #記号でマークダウンセルのテキストを開始します。 必要なヘッダーのレベルに対応する#個の記号を使用します。 つまり、単一の#で最大のヘッダー行がレンダリングされ、6つの#記号で最小のフォントサイズのヘッダーがレンダリングされます。 セルメニューまたはツールバーの実行ボタンからセルを実行すると、レンダリングが実行されます。

次のスクリーンショットは、3つの異なるレベルのヘッダーを持つ編集モードのマークダウンセルを示しています。

Markdown Cells Three Levels

セルが実行されると、出力は次のようになります-

マークダウンセル出力

JupyterノートブックのマークダウンはWYSWYG機能をサポートしていないことに注意してください。 書式設定の効果は、マークダウンセルが実行された後にのみレンダリングされます。

順序付きリスト

HTMLの<ol>タグで行われるように番号付きリストをレンダリングするには、リストの最初のアイテムに1の番号を付ける必要があります。 後続のアイテムには任意の数を指定できます。 マークダウンセルが実行されると、シリアルにレンダリングされます。 インデントされたリストを表示するには、Tabキーを押して、各サブリストの最初の項目を1から始めます。

あなたがマークダウンのために次のデータを与えた場合-

順序付きリスト

次のリストが表示されます-

順序付きリスト出力

箇条書きリスト

リスト内の各アイテムが-記号で始まる場合は黒丸で表示されます。リストが*記号で始まる場合は黒四角記号として表示されます。 次の例は、この機能を説明します-

弾丸リスト

レンダリングされたマークダウンは以下のように表示されます-

弾丸リスト出力

ハイパーリンク

httpまたはhttpsで始まるマークダウンテキストは、自動的にハイパーリンクを表示します。 テキストにリンクを添付するには、テキストを角括弧[]に入れ、リンクを括弧()で囲みます(オプションでホバリングテキストを含む)。 次のスクリーンショットでこれを説明します。

含むハイパーリンク

レンダリングされたマークダウンは以下のように表示されます-

ハイパーリンクが含まれています

太字と斜体

テキストを太字で表示するには、二重アンダースコアまたは2つのアスタリスクの間に入れます。 斜体で表示するには、単一のアンダースコアまたは単一のアスタリスクの間に入れます。

太字と斜体の適用

結果は以下のようになります-

太字および斜体出力

画像

マークダウンセルに画像を表示するには、[編集]メニューから[画像を挿入]オプションを選択し、目的の画像ファイルを参照します。 マークダウンセルはその構文を次のように示しています-

Logo Attachment

以下に示すように、画像はノートブックにレンダリングされます-

Jupyter Logo

マークダウンセルでは、|を使用してテーブルを構築できます。 (パイプ記号)および–(ダッシュ)列と行をマークします。 入力中に記号を正確に揃える必要はありません。 列の境界と行の境界のそれぞれの場所のみを使用する必要があります。 ノートブックはコンテンツに応じて自動的にサイズ変更されます。 テーブルは以下のように構築されます-

テーブル構築

出力テーブルは以下のように表示されます-

テーブル出力

Jupyter Notebook-セルマジック関数

この章では、セルの魔法の機能とその機能を理解しましょう。

%% html

このセルマジック関数は、コードセルのコンテンツをhtmlスクリプトとしてレンダリングします。

Html Script

%% jsまたは%% javascript

このセルマジックコマンドを使用して、JupyterノートブックセルにJavaScriptコードを埋め込むことができます。

JavaScriptコードの埋め込み

JavaScriptコード出力

%% writefile

コードセルの内容は、このコマンドを使用してファイルに書き込まれます。

ファイルの書き込み

Jupyter Notebook-プロット

JupyterノートブックのIPythonカーネルは、入力セルにコードのプロットを表示できます。 matplotlib ライブラリとシームレスに動作します。 %matplotlib *マジック関数を使用したインラインオプションは、プロットオブジェクトの show()*関数が呼び出されない場合でも、プロットアウトセルをレンダリングします。 * show()*関数は、数字をout []なしでin []セルの下に表示します。

Matplotlibライブラリ

次に、最後に* plt.show()*を追加し、セルを再度実行して違いを確認します。

%matplotlibノートブックマジックはインタラクティブプロットをレンダリングすることに注意してください。

図のすぐ下に、ビュー、パン、ズーム、およびダウンロードオプションを切り替えるツールバーがあります。

Matplotlibライブラリツールバー

重要なのは、プロットの下のデータを変更すると、別のプロットを描画せずに表示が動的に変化することです。

上記の例では、下のセルでxとyのデータセットを変更し、図を再度プロットすると、上の図が動的に更新されます。

下のデータを変更

Jupyter-ノートブックの変換

Jupyterノートブックファイルの拡張子は .ipynb です。 ノートブックは、ノートブックアプリによってWebブラウザーでレンダリングされます。 ファイルメニューのオプションとしてダウンロードを使用することにより、さまざまなファイル形式にエクスポートできます。 Jupyterには、 nbconvert オプションの形式のコマンドラインインターフェイスもあります。 デフォルトでは、nbconvertはノートブックをHTML形式にエクスポートします。 あなたはこの目的のために次のコマンドを使用することができます-

jupyter nbconvert mynotebook.ipynb

これにより、 mynotebook.ipynbmynotebookl に変換されます。 他のエクスポート形式は、 --to 句で指定されます。

他のオプションには、['asciidoc'、 'custom'、 'html'、 'latex'、 'markdown'、 'notebook'、 'pdf'、 'python'、 'rst'、 'script'、 'slides’が含まれることに注意してください。

HTMLには「基本」テンプレートと「完全」テンプレートが含まれます。 以下に示すように、コマンドラインでそれを指定することができます-

jupyter nbconvert --to html --template basic mynotebook.ipynb

LaTexは、科学的な植字で特別に使用されるドキュメント準備形式です。 Jupyterには、「ベース」、「記事」、および「レポート」テンプレートが含まれています。

jupyter nbconvert --to latex –template report mynotebook.ipynb

ラテックスを介してPDFを生成するには、次のコマンドを使用します-

jupyter nbconvert mynotebook.ipynb --to pdf

ノートブックはHTMLスライドショーにエクスポートできます。 変換では、バックグラウンドでReveal.jsを使用します。 HTTPサーバーによってスライドを提供するには、コマンドラインに—​postserveを追加します。 インターネット接続を必要としないスライドを作成するには、Reveal.jsライブラリを your_talk.slidesl と同じディレクトリに配置します。

jupyter nbconvert myslides.ipynb --to slides --post serve

markdownオプションは、ノートブックを単純なマークダウン出力に変換します。 マークダウンセルは影響を受けず、コードセルは4スペース分インデントされます。

--to markdown
*rst* オプションを使用して、ノートブックを基本的なreStructuredText出力に変換できます。 Sphinxドキュメントにノートブックを埋め込むための出発点として役立ちます。
--to rst

これは、ノートブックからPython(またはカーネルに応じて他の言語)スクリプトを取得する最も簡単な方法です。

--to script

Jupyterノートブック-IPyWidgets

IPyWidgetsは、Jupyterノートブック用のHTMLインタラクティブウィジェットのPythonライブラリです。 ライブラリ内の各UI要素はイベントに応答し、指定されたイベントハンドラー関数を呼び出します。 Jupyterノートブックアプリケーションのインタラクティブ機能を強化します。

ノートブックにウィジェットを組み込むために、以下に示すように次のモジュールをインポートする必要があります-

from ipywidgets import widgets

いくつかの基本的なIPyWidgetsはここで説明されています-

テキスト入力

  • widgets.text()関数は、ノートブックにウィジェットをレンダリングします。 HTMLのテキストボックスフォーム要素に似ています。 このウィジェットのオブジェクトには、テキストフィールドのアクティビティをリッスンする on_submit()*メソッドがあり、引数として指定されたイベントハンドラーを呼び出すことができます。

ボタン

このウィジェットはHTMLボタンに似ています。 クリックされると、クリックイベントハンドラーを呼び出す* on_click()*メソッドによってイベントが登録されます。

IntSlider

増分する整数値を表示するスライダーコントロール。 FloatSliderとIntRangeSliderもあります(範囲間で整数を変更します)

ラベル

このウィジェットは、ノートブックに編集不可能なテキストを表示するのに便利です。

表示()

*ipywidgets* モジュールのこの関数は、ノートブックの入力セルにウィジェットオブジェクトをレンダリングします。

交流する

この関数は、与えられたデータ引数のタイプに応じてウィジェットを自動的にレンダリングします。 この関数の最初の引数はイベントハンドラーで、2番目はイベントハンドラー自体に渡される値です。

次の例は、3つのラベルウィジェット、2つのテキストウィジェット、および「追加」キャプション付きのボタンを示しています。 ボタンをクリックすると、2つのテキスト入力フィールドの数値の合計が最下部のラベルに表示されます。

フォーム作成

Jupyter QtConsole-はじめに

この章では、QtConsoleを開始する方法を理解しましょう。 この章では、このソフトウェアの概要とインストール手順について説明します。

概要

Qtコンソールは、IPythonターミナルに似たGUIアプリケーションです。 ただし、テキストベースのIPythonターミナルでは利用できない多くの拡張機能を提供します。 拡張機能は、インラインの図、構文の強調表示を使用した複数行の編集、グラフィカルなコールチップなどです。 Qtコンソールは任意のJupyterカーネルを使用できます。デフォルトはIPythonカーネルです。

インストール

Jupyter QtConsoleはProject Jupyterの一部です。 Anacondaディストリビューションには既にQTconsoleアプリケーションが含まれています。 個別にインストールするには、以下に示すようにpipコマンドを使用します-

pip3 install qtconsole

また、この目的のためにcondaコマンドを使用することができます-

conda install qtconsole

AnacondaナビゲーターからJupyterコンソールを起動できます。 コマンドラインから起動するには、WindowsコマンドプロンプトまたはAnacondaプロンプトから次のコマンドを使用する必要があります-

jupyter qtonsole

最初のIn []プロンプトを持つIPythonターミナルに似たターミナルが表示されます。 IPythonターミナルまたはJupyterノートブックで行うのとまったく同じように、Python式を実行できるようになりました

Jupyter QtConsole

Jupyter QtConsole-マルチライン編集

マルチライン編集は、IPythonターミナルでは利用できない機能の1つです。 単一の入力セルに複数のステートメントを入力するには、最初の行の後に ctrl + enter を押します。 その後、Enterキーを押すだけで、同じセルに新しい行が追加されます。 新しい行の入力とセルの実行を停止するには、最後にもう一度Enterキーを押します。 セルが実行され、出力がnext out []セルに表示されます。

複数行編集

Jupyter QtConsole-インライングラフィックス

QtConsoleが提供するもう1つの重要な機能強化は、インライングラフィック、特にプロットを表示する機能です。 この機能は、Matplotlibおよび他のプロットライブラリでうまく機能します。

インライングラフィックス

Jupyter QtConsole-HTMLに保存

QtConsoleの出力をHTMLファイルとして保存するこのオプションは、[ファイル]メニューで使用できます。 隣接するフォルダー(qt_filesという名前)に、インライン画像またはプロットされた図を外部pngファイルとして作成することを選択できます。

HTMLとしてのQtConsole出力

Jupyter QtConsole-複数のコンソール

Jupyterコンソールアプリケーションで複数のタブを開くことができます。 この目的のために、[ファイル]メニューの3つのオプションが提供されています。

  • 新しいカーネルの新しいタブ-このファイルメニューで新しいカーネルをロードできます。
  • 既存のカーネルの新しいタブ-このオプションを使用すると、IPythonカーネル以外の追加のカーネルから選択できます。
  • 同じカーネルの新しいタブ-特定のタブにロードされたカーネルのスレーブを作成します。 その結果、マスタータブで初期化されたオブジェクトはスレーブでアクセス可能になり、その逆も可能です。

複数のコンソール

Jupyter Notebookへの接続

Jupyter Notebookで使用できる%qtconsoleマジックコマンドがあります。 これにより、ノートブックフロントエンドのスレーブ端末としてQtConsoleが呼び出されます。 その結果、ノートブック端末とQtconsole端末間でデータを共有できます。

Jupyterノートブックの接続

Notebookの変数には、 qtconsole ウィンドウ内でアクセスできることがわかります。 また、Qtconsoleの新しい変数がノートブックで使用されます。

入力セルと出力セルには、2つの間で増分番号が付けられていることに注意してください。

githubとnbviewerを使用する

  • Jupyterノートブックの共有– githubとnbviewerの使用*

GitHubリポジトリの 。ipynb 拡張子を持つJupyter Notebookファイルは、開かれたときに静的HTMLファイルとしてレンダリングされます。 カスタムJavaScriptプロットなどのノートブックのインタラクティブ機能は、GitHubのリポジトリでは機能しません。

githubを使用してノートブックファイルを共有するには、https://github.com/[https://github.com]にログインし、パブリックリポジトリを作成します。 次に、以下に示すように、ファイルのアップロードボタンを使用してファイルをアップロードします-

Github

これにより、リポジトリに加えられた変更をコミットするオプションが提供されます。 次に、リポジトリは以下のようにアップロードされたファイルを表示します-

更新されたリポジトリ

アップロードされたファイルをクリックして、GitHubビューアー内で表示します。 強調表示されたURLを他のユーザーと共有できます。

Githubビューアー内

ノートブックファイルをオンラインで表示する別の方法は、Project Jupyterのnbviewerユーティリティを使用することです。 [[1]] Goボタンを押してノートブックを表示します。

nbviewer

これらのメソッドは両方とも、ノートブックファイルを静的なHTMLとして表示します。 ノートブックでコードを実行できるようにするには、Jupyterプロジェクトのバインダーアプリケーションを使用して開きます。

バインダーアプリケーション

nbviewerウィンドウに「バインダーで実行」ボタンが表示されます。 それをクリックすると、ローカルマシンのノートブックサーバーのローカルダッシュボードから開くのとまったく同じように、ノートブックファイルが開きます。 セルの追加/編集、セルの実行など、すべてのアクションを実行できます。

バインダーで実行

JupyterLab-概要

プロジェクトJupyterは、JupyterLabをJupyterエコシステムのすべての製品の次世代Webベースユーザーインターフェースと説明しています。 これにより、拡張可能な方法でノートブック、エディター、および端末をシームレスに操作できます。

JupyterLabの重要な機能のいくつかは以下で説明されています-

  • コードコンソールは、コードをインタラクティブに実行するためのスクラッチパッドとして機能します。 リッチ出力を完全にサポートし、ノートブックカーネルにリンクしてノートブックアクティビティを記録できます。
  • 任意のテキストファイル(Markdown、Python、R、LaTeXなど)は、任意のJupyterカーネルで対話的に実行できます。
  • ノートブックのセル出力は、独自のタブに表示することも、ノートブックとともに表示することもできます。これにより、カーネルに裏付けられたインタラクティブなコントロールを備えたシンプルなダッシュボードが実現します。
  • ドキュメントのライブ編集は、エディターやコンソールなどの他のビューアーに反映されます。 Markdown、Delimiter-separated Values、またはVega/Vega-Liteドキュメントのライブプレビューが可能です。

JupyterLabは、多くのファイル形式(画像、CSV、JSON、Markdown、PDFなど)を処理できます。 また、これらの形式で豊富な出力を表示します。 JupyterLabは、多くの有名なテキストエディターのキーマップを使用して、カスタマイズ可能なキーボードショートカットを提供します。

JupyterLab-インストールと開始

インストールする前にJupyterLabの機能をオンラインで試すことができます。 [[2]]

JupyterLab

ランチャータブには、現在利用可能なカーネルとコンソールが表示されます。 それらのいずれかに基づいて、新しいノートブックベース/ターミナルを起動できます。 左の列には、ファイルブラウザ用のタブ、実行中のカーネル、タブ、および設定ビューもあります。

JupyterLabは通常、Anacondaディストリビューションとともに自動的にインストールされます。 ただし、次のcondaコマンドを使用して個別にインストールすることもできます-

conda install -c conda-forge jupyterlab

また、この目的のためにpipコマンドを使用することができます-

pip3 install jupyterlab

JupyterLabアプリケーションを起動するための最も便利な方法は、Anaconda Navigatorがインストールされている場合です。

アナコンダナビゲーター

または、このコマンドを使用して、Windows/LinuxコマンドターミナルまたはAnacondaプロンプトのコマンドラインから起動します-

jupyter lab

いずれにしても、JupyterLabアプリケーションの起動画面は次のようになります-

JupyterLab起動画面

JupyterLab-インターフェース

新しいノートブックを起動するには、目的のカーネルをクリックします。 上記のスクリーンショットでは、Python3カーネルである1つのカーネルが表示されています。 クリックしてPythonノートブックを起動します。 その機能は、このチュートリアルで学習した機能に似ていることに注意してください。

Pythonノートブックを開始

メニューバー

メニューバーはウィンドウの上部にあります。 あなたがこれで見つけることができるデフォルトのメニューは次のとおりです-

  • ファイル-ファイルおよびディレクトリに関連するアクション。
  • 編集-ドキュメントおよびその他のアクティビティの編集に関連するアクション。
  • 表示-JupyterLabの外観を変更するアクション。
  • 実行-ノートブックやコードコンソールなど、さまざまなアクティビティでコードを実行するためのアクション。
  • Kernel -コードを実行するための別個のプロセスであるカーネルを管理するためのアクション。
  • タブ-ドックパネルで開いているドキュメントとアクティビティのリスト。
  • 設定-共通設定と高度な設定エディター。
  • Help -JupyterLabおよびカーネルのヘルプリンクのリスト。

左側のサイドバーには、新しいランチャーの起動、フォルダーの追加、ファイルのアップロード、ファイルリストの更新のためのボタンが表示されます。 右側のペインは、ノートブック、コンソール、およびターミナルがタブビューで表示されるメイン作業領域です。

新しいコンソールを開始するには、左側のバーの[+]記号をクリックして新しいランチャーを開き、コンソールオプションをクリックします。 コンソールは、右側のペインの新しいタブで開きます。

新しいコンソールの開始

入力セルは下部にありますが、実行されると、セルとそれに対応する出力セルがコンソールタブの上部に表示されることに注意してください。

ランチャーでは、テキストエディターと、IPythonシェルを起動できるターミナルを開くこともできます。

IPython shell Text Editor

JupyterLab-Rカーネルのインストール

Project Jupyterは、プログラミング環境のカーネルをサポートするようになりました。 Rカーネルをanacondaディストリビューションにインストールする方法を確認します。

Anacondaプロンプトウィンドウで次のコマンドを入力します-

conda install -c r r-essentials

次に、ランチャータブからRカーネルを選択して、新しいノートブックを起動します。

ランチャータブRカーネル

以下は、Rカーネルを持つJupyterノートブックのスクリーンショットです-

Rカーネルを持つJupyterノートブック