sábado, 19 de noviembre de 2022

5 trucos para Jupyter Notebook que no debes perderte

https://elmundodelosdatos.com/5-trucos-para-jupyter-notebook/


5 trucos para Jupyter Notebook que no debes perderte

Ene 11, 2021 | Python | 0 Comentarios

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.

In [1]:
# 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()
CPU times: user 80.4 ms, sys: 3.53 ms, total: 84 ms
Wall time: 84.4 ms

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.

In [2]:
%%time

e = 0
for i in range(0, 1000000): 
    e = e + 1  
CPU times: user 148 ms, sys: 3.74 ms, total: 151 ms
Wall time: 153 ms
  •  

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.

Función de autocompletado

Función de autocompletado en Jupyter Notebook

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:

In [3]:
# Creamos las variables
a = 1
b = 2
c = "text"

# Ejecutamos comando %who
%who
a	 b	 c	 e	 funcion_ejemplo	 i	 
  •  

Además, también le podemos indicar el tipo de variable que queremos listar (str, int, etc.).

In [9]:
%who str
c	 

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.

In [10]:
%whos
Variable   Type        Data/Info
--------------------------------
a          int         1
b          int         2
c          str         text
e          int         1000000
i          int         999999
nb2wp      function    

 

 

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.

Actualmente, hay 9 temas disponibles, los cuales puedes ver usando el siguiente comando en la terminal.

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:

En la siguiente imagen podemos ver cómo quedaría nuestro documento Jupyter con el nuevo tema chesterish.

Tema chesterish en Jupyter Notebook

Tema chesterish en Jupyter Notebook

Del mismo modo, para volver al tema original por defecto, usamos el siguiente comando.

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!

No hay comentarios:

Publicar un comentario