5 trucos para Jupyter Notebook que no debes perderte
Si trabajas en el mundo de la ciencia de datos seguramente dedicaras gran parte de tu tiempo diario dentro del popular entorno de trabajo Jupyter Notebook. Este entorno open-source basado en la web soporta diversos lenguajes de programación como Python y R y actualmente es utilizado ampliamente para tareas de machine learning y ciencia de datos.
La gran ventaja de esta herramienta es que nos permite crear documentos que pueden contener tanto código como texto (usando Markdown), gráficos o incluso ecuaciones matemáticas.
En esta publicación, no vamos a detenernos en explicar las funciones más básicas de Jupyter, sino que hemos recopilado 5 trucos probablemente no tan conocidos que te ayudarán familiarizarte más con esta herramienta, ser más eficiente y productivo o simplemente personalizarlo a tu gusto. ¡Empecemos con los trucos!
1. Atajos de teclado
Hemos colocado en primer lugar los atajos de teclado, ya que van a hacer, sin duda, que trabajemos de manera más productiva y nos ayudarán a ahorrar mucho tiempo. Para conocer todos los atajos, tan solo tienes hacer clic en el menú Help
y seleccionar la opción Keyboard Shortcuts
, donde se nos mostrarán detallados uno por uno.
Primeramente, es necesario saber que en Jupyter existen dos modos de trabajo. El modo edición permite modificar el contenido de las celdas, y el modo comando permite ejecutar celdas o modificar el documento. Si queremos entrar al modo edición, debemos presionar la tecla Enter
o hacer click en una celda seleccionada. Por otro lado, para entrar al modo comando, hay que presionar Esc
o hacer clic fuera de la celda que tengamos seleccionada.
A continuación, os mostramos una selección de nuestros atajos favoritos y que consideramos más útiles:
- Estando en cualquiera de los dos modos, tenemos disponibles los siguientes atajos:
-
Ctrl + Enter
: ejecuta las celdas seleccionadas.Shift + Enter
: ejecuta la celda seleccionada y se posiciona en la siguiente.Alt + Enter
: ejecuta la celda seleccionada e inserta una nueva celda.Ctrl + s
: guarda el documento.
- Estando en el modo comando, podemos usar los siguientes atajos:
z
: deshace el borrado de una celda.f
: entra al menú para buscar y reemplazar texto.Shift + Up
: extiende las celdas seleccionadas hacia arriba.Shift + Down
: extiende las celdas seleccionadas hacia abajo.a
: inserta una nueva celda encima de la que esta seleccionada.b
: inserta una nueva celda debajo de la seleccionada.x
: corta la celda seleccionada.c
: copia la celda.v
: pega la celda debajo de la seleccionada.Shift + v
: pega la celda encima.d, d
: borra la celdas seleccionadas.Shift + m
: fusiona las celdas seleccionadas, o la celda actual con la celda de abajo si sólo se selecciona una celda.
- De igual manera, dentro del modo edición podemos usar los siguientes atajos:
Ctrl + ]
: indenta el código.Ctrl + [
: desindenta el código.Ctrl + z
: deshace la acción relizada.Ctrl + y
: rehace la acción.Ctrl + a
: selecciona todo.
2. Calcular el tiempo de ejecución con %time
Si lo que queremos es medir el tiempo de ejecución de nuestros algoritmos, la forma más sencilla es utilizando el comando %time
. Mediante este comando se nos mostrará tanto el tiempo de CPU como el de reloj. Seguidamente tenemos un ejemplo del uso de este comando en el que calculamos el tiempo de ejecución de una función.
# Creamos una función de ejemplo
def funcion_ejemplo():
e = 0
for i in range(0, 1000000):
e = e + 1
# Ejecutamos comando %time
%time funcion_ejemplo()
Los comandos a los que pertenecen %time
son los denominados comandos mágicos, que consisten en funciones adicionales muy útiles para resolver normalmente problemas comunes y repetitivos. Ejecutando %lsmagic
se nos mostrará la lista con todos los comandos mágicos, que también podemos consultar en la documentación oficial.
Hay dos tipos de comandos mágicos: los comandos que comienzan con %
como el del ejemplo anterior y que afectan a una única línea de una celda (donde se inserta el comando) y aquellos comandos que comienzan con %%
y se aplican a toda la celda.
Por ejemplo, si queremos conocer el tiempo de ejecución de un bloque de código, usaríamos %%time
como podemos apreciar en el siguiente ejemplo.
%%time
e = 0
for i in range(0, 1000000):
e = e + 1
3. Función de autocompletado
Jupyter Notebook también dispone de una función de autocompletado de código preinstalada que nos ayudará a ahorrar tiempo y evitar errores. Para usar esta función de autocompletado en el nombre de los métodos y variables simplemente debemos presionar la tecla Tab
y se nos mostrará un menú desplegable con todas las sugerencias.
Además, también hay disponible una extensión de Jupyter llamada Hinterland para que se nos muestre automáticamente el menú desplegable al escribir sin tener que llamarlo cada vez que queremos usarlo con la tecla Tab
.
4. Mostrar variables definidas con %who y %whos
Existen diferentes formas de mostrar las variables definidas en nuestro documento de Jupyter Notebook. La manera más simple es usando el comando mágico %who
como podemos observar en el siguiente ejemplo:
# Creamos las variables
a = 1
b = 2
c = "text"
# Ejecutamos comando %who
%who
Además, también le podemos indicar el tipo de variable que queremos listar (str, int, etc.).
%who str
Por otro lado, con el comando %whos
se mostrará información adicional junto al nombre de cada variable como su tipo o su longitud en caso de tratarse de un array, diccionario o set.
%whos
5. Cambiar la apariencia con los diferentes temas disponibles
Pero no todo van a ser trucos para ahorrar tiempo. Con este último truco podrás cambiar la apariencia de Jupyter Notebook, así que, si eres de los que prefiere utilizar el modo oscuro, estás de suerte. Primeramente, para cambiar la apariencia debemos instalar previamente el paquete jupyter-themes que contiene los temas disponibles.
pip install jupyterthemes
Actualmente, hay 9 temas disponibles, los cuales puedes ver usando el siguiente comando en la terminal.
jt -l
Básicamente, para instalar un tema tan solo tenemos que usar el comando jt -t
seguido del nombre del tema que queramos. Por ejemplo, si queremos instalar el tema oscuro llamado chesterish, usaríamos:
jt -t chesterish
En la siguiente imagen podemos ver cómo quedaría nuestro documento Jupyter con el nuevo tema chesterish.
Del mismo modo, para volver al tema original por defecto, usamos el siguiente comando.
jt -r
Estos han sido 5 trucos útiles que os harán la vida más fácil mientras usáis esta herramienta. ¿Qué trucos o consejos para Jupyter Notebook utilizáis vosotros? ¿Añadiríais alguno a nuestra recopilación? ¡Dínoslo en los comentarios!