暗号通貨.py

ビットコインやブロックチェーンの技術に衝撃を受け、プログラミングの勉強を開始。現在はPythonを勉強中。

Python

Jupyter Notebook nbviewer + Github Gistを使ってノートを共有する方法

久しぶりの更新です。

最近はnumpyやpandasでなんちゃってデータ分析してみたり、下の記事を参考にBitcoinトレードbotを作ってみたりして遊んでいます。
第1回 取引botの作り方 環境を整える

暗号通貨の相場は最近Zcashのローンチや久しぶりのBTCの上昇などもあり、とても刺激的な状態になっていますね。
アルトコインはほとんどが大幅な下げで、先日私は保有アルトコインの大部分をBitcoinに替えたので、ラッキーでした。

少しずつPythonにも慣れてきているのかなと思いつつ、なんちゃってデータ分析には必須のJupyter(ipython) Notebookが便利だなーと改めて感じています。

Jupyter nbviewerとGithub Gistを使えば自分が保存しているノートの共有が簡単にできることも初めて知りました。

そんなん知ってるわ!の人も多いかもしれませんが、自分的に感動レベルだったので共有します。

Jupyter Notebookとは?

元々、IPython Notebookという名前のPythonライブラリで、作成したプログラムをブラウザ上で実行し、結果を自動で保存しながらデータ分析などができるツールです。

便利すぎて他のプログラミング言語にも対応を始めたので、Jupyter Notebookという名前に変わりました。

パッケージ管理ツールのAnacondaでnumpyやpandasとまとめてインストールすることができ、データ分析には欠かせないツールの1つだといえます。

実際のJupyter Notebook

イメージしづらいと思うので先にノートを見てもらいましょう。

以下のリンクに飛んでください。私が作ってJupyter Notebook nbviewerに上げたノートです。

http://nbviewer.jupyter.org/gist/naoki-maeda/07c955721534150cf352826ef59a696d

一応スクショも貼っておきます。このように作成したノートをオープンに共有することがこの記事の目的です。

numpyのrandn関数で10個のランダムな数字を作成し、データフレームに整理してグラフにしました。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-30-12-33-32

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-30-12-33-45

In[]のセルが私の書いたコードで、Out[]が実行結果です。

このようにコードを実行するとインタラクティブに結果が反映され、データフレームやグラフなども即作成されます。

スポンサーリンク

adsense

スポンサーリンク

Jupyter Notebookを使うメリット

  • 実行結果が速い
  • 自動で保存されるので楽
  • データフレームやグラフなどの可視化が容易
  • numpyやpandas、matplotlibと相性が良い
  • ターミナルでいうpython ~.pyなどの実行コマンドが入力不要。セルにコードを入力して[shift] + [enter]で実行できる
  • ノートの共有が容易

デメリットや改善してほしいところも特に思いつきません。

私が使い込んでないからかもしれませんが、皆さんホントに1度使ってみてほしいです。

Jupyter Notebook nbviewerでノートを共有する方法

ノートの共有は簡単です。

Jupyter Notebookはインストール済、Githubのアカウントはある前提として、方法を解説します。

  1. ノートを作成
  2. そのノートの[File]→[Download as]→[Notebook (.ipynb)]へと進み.ipynb形式で保存
  3. Github Gistにアップロード
  4. Jupyter nbviewerにGithub Gistのリンクを入力

これだけです。

①ノートを作成

Jupyter Notebookをインストール後、ターミナルで

$ jupyter notebook

もしくは

$ ipython notebook

を入力しましょう。

実行され、現在のディレクトリ上でノートが作成できます。

[New]タブから[Python3]を選択します。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-30_12_21_10

すると、新しいファイルが作成されるので自由にコードを書きましょう。

Python3で作成しているのでPython3の対話モードだと考えれば良いと思います。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-10-30-12-21-21

②ipynb形式で保存

そのノートの[File]→[Download as]→[Notebook (.ipynb)]へと進むと、Macでしたら勝手にダウンロードされるはずです。

③Github Gistにアップロード

ファイルをGithub Gistにドラッグ&ドロップしてアップロードし、[Create Public Gist]をクリックします。

オープンにしたくない場合は[Create secret gist]しましょう。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-30_12_30_03

Jupyter nbviewerにリンクを入力

Jupyter nbviewerに先程のGithub Gistのリンクを貼ります。

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88_2016-10-30_13_52_55

完了です。これでノートが見れるはずです。

Jupyter nbviewerではGithubアカウント名を入力すればその人が保存しているノートを見ることができます。

例えばEthereumの開発者で暗号通貨界の超有名人Vitalik Buterinのアカウント「vbuterin」を入力すればVitalikのノートが見れます。Githubと繋がっているだけなので、ipynb形式で保存していないとあまり意味はないですが。

けっして彼の「秘密のノート」が見れるわけではないです。笑

私はまだ使っていませんが、Jupyter NotebookはDropboxとの相性も良さそうです。

使ってみて良かったらまた記事にします。

 

参考リンク

Jupyter

Jupyter nbviewer

Jupyter (iPython) Notebookを使って技術ノート環境を構築する方法

日本で一番簡単にビットコインが買える取引所 coincheck bitcoin

-Python