jupyter notebook
基本的に IPython のマジックコマンドが分かってれば大丈夫。
※IPythonの使い方メモ 参照
jupytext を入れておくと、必要に応じて py への自動変換もできるので楽。
pip install jupytext
コマンドモードとエディットモードの切り替え。
[Enter] と [Esc] でコマンドモードとエディットモードの切替を行う事ができる。
以下に、コマンドモード時に使用できるキーボードショートカットを記載する。
キー | 動作 |
[Enter] | エディットモードに変更する |
↓ | 下のセルに移動する |
↑ | 上のセルに移動する |
[Ctrl] + [Enter] | セルを実行する |
a | 現在のセルの上にセルを追加する |
b | 現在のセルの下にセルを追加する |
c | 現在のセル内容をコピーする |
v | コピーしたセルと同じ内容のセルを下に追加する |
[Shift] + v | コピーしたセルと同じ内容のセルを上に追加する |
x | 現在のセルを削除する |
m | マークダウン用のセルに変更する |
Shift + m | 下のセルと結合する |
h | キーボードショートカットのヘルプを表示する |
など
対象のセルに移動して[Esc] を押してコマンドモードにした後に [m] を押下する事で、マークダウン用のセルにする事ができる。
※もしくはヘッダのプルダウンから「Markdown」を選択。
一般的なマークダウンの他、LaTeX式の算術式を記述する事ができる。
例)
#### 分散の数式 $$s^2 = \frac{1}{n}\sum_{i=1}^n (x_i - \overline{x})^2$$
結果
変数名を書くだけで表示
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)
各ノートブック共通で行う初期設定などは ~/.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)
別のやり方として ~/.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' ] :
やり方はある様だが・・・
https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Importing%20Notebooks.html
たぶん普通にマジックコマンドで %run するのが、いちばんシンプル。
%run other_notebook.ipynb