15

セルマジックの結果を保存する方法がわかりません - %%timeit? もう読んだ:

  1. ipython のマジック メソッドの出力をキャプチャできますか?
  2. IPython マジック関数の結果をキャプチャする

この質問では、ラインマジックについてのみ回答します。ライン モード ( %) では、次のように動作します。

In[1]: res = %timeit -o np.linalg.inv(A)

しかし、セルモード ( %%)ではそうではありません:

In[2]: res = %%timeit -o 
       A = np.mat('1 2 3; 7 4 9; 5 6 1')
       np.linalg.inv(A)

セルを実行するだけで、魔法はありません。それはバグですか、それとも何か間違っていますか?

4

2 に答える 2

18

セル_の後に変数 (最後の結果を格納) を使用して、再利用可能な変数に割り当てることができます。%%timeit -o

In[2]: %%timeit -o 
       A = np.mat('1 2 3; 7 4 9; 5 6 1')
       np.linalg.inv(A)
Out[2]: blabla
        <TimeitResult : 1 loop, best of 3: 588 µs per loop>

In[3]: res = _

In[4]: res
Out[4]: <TimeitResult : 1 loop, best of 3: 588 µs per loop>

セルモードコマンドはそのセルの最初のコマンドでなければならないためres = ...、そのコマンドの前に何も ( さえも) 置くことができないため、これはバグではないと思います。

ただし、それ以外の場合は変数に が含まれている-oため、が必要です。_None

于 2016-12-27T19:32:57.777 に答える