Seis comandos mágicos de Jupyter Notebooks

Los Jupyter Notebooks son una herramienta web con la que se puede ejecutar código de forma interactiva, almacenar los resultados y documentar el proceso. Actualmente es muy popular para explicar las técnicas y los procedimientos empleados en tareas de análisis de datos. Una de las características más poderosas de Jupyter Notebooks son los comandos mágicos. Los que son accesos directos a funciones con las que es posible realizar ciertas tareas habituales de una forma más cómoda y rápida. En esta entrada se van a mostrar seis de los comandos mágicos de Jupyter Notebooks más interesantes.

Medir el tiempo de ejecución

Uno de los problemas más habituales es saber cuanto tiempo tarda en ejecutarse un código. El tiempo de una celda se puede obtener mediante un complemento de Jupyter. Pero si únicamente se desea conocer el tiempo de una función es mejor utilizar los comandos mágicos %time o %timeit. Ambos permiten medir el tiempo de ejecución de la instrucción escrita inmediatamente después en la misma línea. Por un lado, el comando %time mide el tiempo de CPU (dividido en usuario, sistema y total) y el de reloj. Por otro lado, %timeit utiliza el módulo timeit de Python para medir el tiempo medio de ejecución. El funcionamiento de estos comandos se puede ver en el siguiente ejemplo.

%time task()

# CPU times: user 15.7 ms, sys: 4.83 ms, total: 20.5 ms
# Wall time: 18.3 ms

%timeit task()

# 10.1 ms ± 159 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

La principal diferencia entre ambos es que %time ejecuta el comando una sola vez mientras que %timeit lo hace varias para calcular la media. Por lo que la segunda opción es más lenta pero más fiable.

Existe una versión alternativa de estos comandos con dos símbolos de tanto por ciento. En tal caso miden el tiempo de las líneas situadas inmediatamente después del comando.

%%time 
task()
task()

# CPU times: user 20.7 ms, sys: 1.19 ms, total: 21.9 ms
# Wall time: 20.6 ms

%%timeit
task()
task()

# 20.5 ms ± 243 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

Mostrar los gráficos en los Notebooks

Uno de los comandos mágicos más utilizado es %matplotlib, por lo que es habitual encontrarlo en muchos Notebooks. La utilización de este comando garantiza que Jupyter Notebooks muestre los gráficos.

Carga automática de referencia

Al importar una referencia en un Notebook esta se cargará en memoria. Si posteriormente a la importación se modifica el archivo los cambios introducidos no tendrán efecto hasta que se reincide el núcleo. Este comportamiento en la mayoría de los casos no es un problema, salvo que se esté desarrollando una librería y se deseen probar los cambios. Para solucionar este problema se puede utilizar el comando mágico %load_ext autoreload. Al utilizar este comando las referencias se actualizarán automáticamente cada vez que se modifique el archivo.

Acceso a la terminal del sistema

La terminal del sistema operativo es una herramienta con las que se pueden hacer muchas tareas. Por lo que puede ser interesante acceder a la misma desde un Notebooks. Para ello se puede utilizar el comando mágico %system seguido del comando del comando de la terminal. Por ejemplo, se puede consultar la versión de Python instalada

%system python -V

Listado de variables

En Jupyter Notebooks se puede utilizar un complemento para consultar el listado de variables. Esta información también se puede conseguir con un comando mágico: %who_ls. Al ejecutarlo se mostrará la lista de variables existentes en el entorno.

a = 1
b = 2
c = a + b

%who_ls
['NamespaceMagics',
 'a',
 'autopep8',
 'b',
 'c',
 'get_ipython',
 'getsizeof',
 'json',
 'np',
 'var_dic_list']

Configuración de los Jupyter Notebooks

Finalmente, también existe un comando mágico de Jupyter Notebooks para configurar las opciones del entorno IPython: %config. Para cambiar una opción, simplemente es necesario llamar a este comando seguido de la opción a configurar. Por ejemplo, este comando se utilizó por ejemplo para configurar el uso de la resolución HDPi en las pantallas.

Conclusiones

En esta entrada se han visto seis comandos mágicos de Jupyter Notebooks con los que facilita el trabajo con esta herramienta. El listado completo de los comandos se puede consultar en la documentación. ¿Qué comando os parecen más interesantes? Podéis dejar la respuesta en los comentarios de la entrada.

Imágenes: Pixabay (Pexels)

Sin votos
Por favor espera...

Suscríbete a nuestro boletín

Si te ha gustado el contenido puedes suscribirte al boletín semanal para recibir en su correo electrónico todas las novedades publicadas en Analytics Lane.
La dirección de correo suministradas se utilizará únicamente para enviar un correo semanal con las últimas publicaciones aparecidas en el blog. Los datos nunca serán utilizados para otros fines diferentes. Para más información puede consular nuestra Política de Privacidad.

Contenido relacionado

Etiquetas:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *