Как сохранить результат от % % timeit cell magic?
Я не могу понять, как сохранить результат от магии клеток - %%timeit
? Я читал:
- можете ли вы захватить результаты магических методов ipython?
- захват результата магической функции IPython
И в этом вопросе ответы только о линейной магии. В режиме line (%
) это работает:
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)
Он просто выполняет клетку, никакой магии. Это жучок или я делаешь что-то не так?1 ответ:
Можно использовать переменную
_
(хранит последний Результат) после ячейки%%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
.