Jupyter Lab

特徴や注意点

Magic command

%whos

  • 変数の一覧を表示
a = 10
b = 20
c = 30
%whos

Variable   Type    Data/Info
----------------------------
a          int     10
b          int     20
c          int     30

時間計測(%timeit)

# Lineに対して実行
%timeit -n1 -r1 {x:x*x for x in range(51) if x % 2 == 0}

7.11 µs ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)


# Cellに対して実行

%%timeit -n1 -r1
d = {x:x*x for x in range(41) if x % 2 == 0}
print(d)

{0: 0, 2: 4, 4: 16, 6: 36, 8: 64, 10: 100, 12: 144, 14: 196, 16: 256, 18: 324, 20: 400, 22: 484, 24: 576, 26: 676, 28: 784, 30: 900, 32: 1024, 34: 1156, 36: 1296, 38: 1444, 40: 1600}
660 µs ± 0 ns per loop (mean ± std. dev. of 1 run, 1 loop each)

コードの実行時間を計測

magic commandTypeNum of action
%timelineOne time
%%timecellSeveral times
%timeitlineOne time
%%timeitcellSeveral times

%timeit%%timeitは、「M回実行したときの平均時間の値」をN回繰り返したときのN個から、平均と標準偏差を出力。デフォルトでは、1回あたりの実行時間に応じて実行回数が変わる。
-n数字オプションで実行回数(M)を、-r数字オプションで個数(N)を指定する。

Matplotlib

  • 最初に%matplotlib inlineを入れることによって、Notebook内に描画されるようになる
%matplotlib inline
import matplotlib.pyplot as plt
  • matplotlibでは、plt.showで描画する。ただし、inline指定の場合はplt.showを省略可能
plt.title('Test Graph')
plt.plot([1,3,2,4])
plt.show()
  • Jupyterlabでは、セルの最後に評価したオブジェクトが出力されるため、plt.showを省略しplt.plotとした場合以下のようにオブジェクト内容が出力がされます。
# 折れ線グラフを表示
plt.title('Test Graph')
plt.plot([1, 3, 2, 4])

[<matplotlib.lines.Line2D at 0x7f053072e460>]
  • セルの最後の行にセミコロンをつけることで、Noneと評価され出力がスッキリする
# 折れ線グラフを表示
plt.title('Test Graph')
plt.plot([1, 3, 2, 4]);