IPythonデータサイエンスクックブック ―対話型コンピューティングと可視化のためのレシピ集
- 作者: Cyrille Rossant,菊池彰
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る
目次
- 目次
- はじめに
- Jupyter Notebook (iPython Notebook)とは?
- インストール
- おすすめJupyter設定
- Jupyter Notebookのショートカット
- Markdownで文章を入力する
- 数式を入力する
- 数式の計算をする
- 画像をドロップアンドドラッグで挿入できるようにする
- PDFに出力する
- できれば改善してもらいたい部分
- 参考資料
はじめに
これまで、
技術的なメモはWordやPowerPointで書いていましたが、
数式の書きにくさと、Markdownが使えないことで、
下記のような特徴を持つ
技術メモツールを探していました。
Markdown記法が使える
数式をTex形式で入力できる
画像をドラッグ&ドロップできる
できれば、無料でオープンソース
そこで色々調べた所、
Jupyter (iPython) Notebookというツールを使うことで、
上記の目的を達成した、
快適な技術ノート環境を立ち上げることができたので紹介します。
Jupyter Notebook (iPython Notebook)とは?
Jupyter Notebookは元々、
Pythonのインタラクティブ実行環境(iPython)を
ブラウザ上で実行するためのツールでしたが、
進化が進み、Python以外の言語も利用可能になったので、
最近はJupyter Notebookという名前で開発が進められています。
このJyupyter Notebookは最近のデータ解析ブームにおいて、
簡単にデータ解析を実施し、
その結果を再利用しやすく、かつ、
配布しやすい形で残すことができるため、
利用が広まっています。
(詳細は下記の資料を参照下さい)
IPythonデータサイエンスクックブック ―対話型コンピューティングと可視化のためのレシピ集
- 作者: Cyrille Rossant,菊池彰
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る
一方、Jypyterはプログラム実行環境だけでなく、
Markdown表示機能や、Tex記法による数式表示機能もあるので、
技術ノートツールとして使うことも可能です。
インストール
基本的には、
どのOSでもpipでインストールするのが簡単だと思います。
$ pip install jupyter
おすすめJupyter設定
JupyterのNotebookのデータは、
.ipynbという拡張子のファイルで保存されますが、
このファイルをDropboxで管理すると、
すべての端末で共有されますし、
バックアップやバージョン管理が自動で実施されるので、
非常に便利です。
.ipynbファイルは、
普通に保存するとターミナルで
Jupyterを起動したディレクトリに保存されてしまうので、
.bashrcに下記のようなエイリアスを作って
Jupyterを起動すると、常にDropbox内でJupyterが起動し、
ipynbファイルがDropboxの中に保存されて便利です。
$ alias iPythonNotebook='cd ~/Dropbox/ipythondir;jupyter notebook'
Jupyter Notebookのショートカット
下記のショートカットを使いこなすと、
よりJupyterを使いやすくなります。
(ショートカットがVimっぽいのがいいですね)
内容 | ショートカット |
---|---|
セルをマークダウンモードに | m |
セルの削除 | dd |
上のセルに移動 | k |
下のセルに移動 | j |
スクロールダウン | Space |
スクロールアップ | Shift+Space |
Markdownで文章を入力する
Jupyter NotebookはデフォルトでMarkdownを表示する機能があります。
各セルで、ツールバーのタブをMarkdownにして、
Markdown記法を入力し、Ctrl+Enterを押すと、
下記のようにMarkdown記法による文章が表示されます。
見出しのナンバリングなども自動で実施されるので、
シンプルなレポートぐらいは作れそうですね。
数式を入力する
Jupyter notebookで数式を入力したい場合は、
Markdownモードで、2つの$$で前後を囲った間に、
Latex記法で数式を書くと、数式が表示されます。
$$ \sqrt{a+b} $$
数式の計算をする
以前紹介した、Pythonの数式演算ライブラリsympyを使用すれば、
Jupyter上で数式の計算も出来ます。
下記のように数式をprintすると、
自動で数式表示されるので非常に便利です。
画像をドロップアンドドラッグで挿入できるようにする
技術メモを作っている際に、
画像データをWordのように
文章にドラッグアンドドロップで追加したい場合が多いですが、
Markdownの場合、
いちいちリンクを貼り付けなければならないため面倒でした。
しかし、下記のJupyter Notebooksのestensionをインストールすることで、
様々な拡張機能が使えるようになり、
画像のドラッグアンドドロップもできるようになります。
インストールは、READMEにある通り、
下記のコマンドでOKです。
(下記のインストールをする場合は
Jupyter Notebookのプロセスはkillしておきましょう)
$ pip install https://github.com/ipython-contrib/IPython-notebook-extensions/archive/master.zip --user
続いて、Jupyter Notebookを起動し、
URLに/nbextensions/を追加して、移動すると
下記のような拡張機能の追加画面に移動します。
あとは、Drag and DropのチェックボタンをONして下さい。
すると、Jupyter Notebookで画像をドラッグアンドドロップすると、
画像が挿入されるようになります。
ちなみに画像ファイルはD&Dすると
.ipynbファイルと
同じ場所にコピーされます。
PDFに出力する
上記の方法である程度のレポート形式の技術ノートを作ることは
できるはずなので、あとはPDFなどに変換すれば、
プログラマ以外の他の人と資料を共有することができます。
Macの場合
Jupyter NotebookのデータをPDFに変換する方法は色々ありますが、
Macで一番シンプルなのは、Jupyter Notebookをブラウザで開いた状態で、
Ctrl-Pで、Macの標準機能でPDFに変換するのが一番簡単だと思います。
下記のように詳細設定の部分で、ヘッダーとフッターに
時刻や、ファイル名、ページなどを入力する設定ができます。
あとは普通にPDFを出力すると、
下記のようにそれなりのレポートがPDFで作成できます。
できれば改善してもらいたい部分
もう少しで完全にWordをおさらばできそうなので、
下記のような機能を実現してもらいたいですね。
目次の自動生成機能
参考文献管理
図のタイトル入力
自動図番号割り当て
上記のような機能を実現できる拡張などを知っている方は
コメントなどで教えて頂けると幸いです。
(Python使えるから、自分で作ればいいのか。。。)
参考資料
IPythonデータサイエンスクックブック ―対話型コンピューティングと可視化のためのレシピ集
- 作者: Cyrille Rossant,菊池彰
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/12/25
- メディア: 大型本
- この商品を含むブログ (1件) を見る