IPythonことJupyter Notebookには、利用時の「こういう機能欲しいな~」の声に応えるように、ユーザの利便性をたかめる「マジックコマンド」が用意されています。この記事では、その種類・使い方を解説していきます。
目次
Contents
ラインマジック/セルマジックの違い
マジックコマンドは、大きく2種類に分かれます。
- ラインマジック:コマンド冒頭が「%」ひとつ。引数はその行におさめて書く
- セルマジック:コマンド冒頭が「%」ふたつ。引数が複数行になってもOK
この2つについて、代表的なコマンドを紹介します。
代表的なラインマジック
%lsmagic:マジックコマンド一覧の確認
Jupyter Notebookで利用できるマジックコマンドのリストを確認できます。
マジックコマンドについてはWeb上に公式ドキュメントもあるが、バージョンや環境によって使えないものもあるので、実際に起動しているJupyter Notebook / IPythonの中で確認したほうが確実。
Jupyter Notebookでマジックコマンド一覧を確認する%lsmagic
%lsmagic# Available line magics:# %alias %alias_magic %autoawait %autocall ...## Available cell magics:# %%! %%HTML %%SVG %%bash ...# # Automagic is ON, % prefix IS NOT needed for line magics.
%pwd:カレントディレクトリ表示
%pwd
は、カレントディレクトリを表示してくれます。
%env:環境変数取得・設定
環境変数の取得、設定が行えます。
%who / %whos
その時点で宣言されている変数を知るためのコマンドです。%whoは変数のみ、%whosは変数とその型、および内容を取得できます。
foo = "hello"bar = 133%who# bar foo %whos# VariableType Data/Info# ----------------------------# bar int 133# foo str hello
%matplotlib inline
%matplotlib tk
代表的なセルマジック
%%sh:シェルコマンドの実行
このセルマジックを宣言したセルで、シェルコマンドの実行ができるようになります。
%%shecho Hello, world# Hello, world
%%html:HTMLコードの記述・実行を可能に
セル内でHTMLコードの記述、実行を可能にします。
%%js:Javascriptコードの記述・実行を可能に
セル内でJavascriptコードの記述、実行を可能にします。
%%ruby:rubyコードの記述・実行を可能に
セル内でrubyコードの記述、実行を可能にします。