¿Cómo almacenar el resultado de %% timeit cell magic?

No puedo averiguar cómo almacenar el resultado de la magia celular – %%timeit ? He leído:

  1. ¿Puedes capturar la salida de los métodos mágicos de ipython?
  2. Captura el resultado de una función mágica de IPython

y en esta pregunta las respuestas solo sobre la línea de magia. En el modo de línea ( % ) esto funciona:

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

Pero en el modo de celda ( %% ) no :

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

Simplemente ejecuta la celda, no hay magia. ¿Es un error o estoy haciendo algo mal?

Puede usar la variable _ (almacena el último resultado) después de la %%timeit -o y asignarla a una variable reutilizable:

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

No creo que sea un error porque los comandos de modo de celda deben ser el primer comando en esa celda, por lo que no puedes poner nada (ni siquiera res = ... ) delante de ese comando.

Sin embargo, todavía necesita el -o porque, de lo contrario, la variable _ contiene None .