目次 †TODO:
インストール †起動 †jupyter notebook マジックコマンド †基本的に IPython のマジックコマンドが分かってれば大丈夫。 jupytext のセットアップ †jupytext を入れておくと、必要に応じて py への自動変換もできるので楽。 pip install jupytext キーボードショートカット †コマンドモードとエディットモードの切り替え。 以下に、コマンドモード時に使用できるキーボードショートカットを記載する。
など マークダウンの記述 †対象のセルに移動して[Esc] を押してコマンドモードにした後に [m] を押下する事で、マークダウン用のセルにする事ができる。 一般的なマークダウンの他、LaTeX式の算術式を記述する事ができる。 例) #### 分散の数式 $$s^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \overline{x})^2$$ 結果 Tips †全ての変数等を整形して表示する †変数名を書くだけで表示 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" df1 = ....... df2 = ....... df1 df2 display による表示 from IPython.display import display : display(df1) display(df2) 自作モジュールを自動リロードする †以下を行っておくと import 済みのモジュールが実行の度にリロードされる為、モジュールを修正した場合の読み込み直しの手間が減る。 %load_ext autoreload %autoreload 2 データフレームの表示行数 または 列数を設定する †pandas のデータフレームを表示する際に 行数 または 列数が多い場合は途中が省略して表示されるが、以下の通り最大表示数を設定する事ができる。 import pandas as pd pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) 共通のスタートアップスクリプト(その1) †各ノートブック共通で行う初期設定などは ~/.ipython/profile_default/startup 配下にファイルを設置する事によって自動で行う事ができる。 ※jupyter ではなく ipython の仕組みの模様。 例) ~/.ipython/profile_default/startup/00-init.ipy # オブジェクトの自動表示 from IPython.core.interactiveshell import InteractiveShell InteractiveShell.ast_node_interactivity = "all" # オブジェクトの表示用 from IPython.display import display # 実行する度に自作モジュールを自動リロードする %load_ext autoreload %autoreload 2 # グラフを常にインライン表示 %matplotlib inline # 最大列数、行数の設定 import pandas as pd pd.set_option('display.max_columns', None) pd.set_option('display.max_rows', None) 共通のスタートアップスクリプト(その2) †別のやり方として ~/.ipython/profile_default/ipython_config.py に書く方法もある。 まずプロファイルを生成。 ipython profile create [ProfileCreate] Generating default config file: '/ユーザのホームディレクイトリ/.ipython/profile_default/ipython_config.py' 生成されたプロファイルを以下の様に修正する。 例) ~/.ipython/profile_default/ipython_config.py : # 実行するコマンドを1行ずつ指定 c.InteractiveShellApp.exec_lines = [ 'import numpy as np', 'import pandas as pd' ] # 読み込むファイルのPATHを相対 または フルPATHで指定 c.InteractiveShellApp.exec_files = [ 'settings.ipy', '/xxx/xxxxx/settings.ipy' ] : 他のノートブックを読み込む †やり方はある様だが・・・ たぶん普通にマジックコマンドで %run するのが、いちばんシンプル。 %run other_notebook.ipynb HTMLを出力する †IPython.display.HTMLを使用してHTMLを出力する事ができる。 以下のサンプルでは最終セルの出力結果のみを表示するボタンを追加している。 from IPython.display import HTML HTML(""" <script> var show_status = true; function toggleCells(){ if (show_status) { // 最後のセルの出力結果だけ表示 var len = $(".rendered").length; $(".rendered").hide() $(".rendered").eq(len-1).show(); $(".rendered").eq(len-1).find(".input").hide(); // ヘッダを非表示 $("#header").hide(); } else { // 全てのセルを表示 var len = $(".rendered").length; $(".rendered").show(); $(".rendered").find(".input").show(); // ヘッダを表示 $("#header").show(); } show_status = !show_status; } toggleCells(); $("body").append('<input type="button" value="表示切替" onclick="toggleCells()" style="position: fixed; top: 20px; right: 20px; z-index: 999;">'); </script> """) html(</div>) |