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.

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.

Tema chesterish en Jupyter Notebook

Tema chesterish en Jupyter Notebook

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!

También te puede interesar:

Extracción de datos de sitios web con Scrapy (I): recopilando información de productos de Zara

En este tutorial explicamos como extraer con Scrapy los datos de la web de Zara de forma automatizada para finalmente almacenarlos en MongoDB.

Otros 5 trucos de Jupyter Notebook que probablemente desconozcas

En este artículo se explican 5 nuevos trucos para Jupyter Notebook que probablemente desconozcas y que mejorarán vuestra productividad.

Extracción de datos de sitios web con Scrapy (II): rastreando todas las URLs del sitio web de Zara

En este post construimos un rastreador con Scrapy que extrae los datos de manera recursiva todas las URLs del sitio web de Zara.

Extracción de datos de Twitter con Python (sin consumir la API)

En esta publicación os enseñaremos como poder extraer datos de Twitter en Python mediante la librería Twint. De esta forma, podremos obtener facilmente los últimos tweets que contengan cierta palabra o que pertenezcan a un determinado usuario y aplicar varios filtros.

Aplicación de la Distribución t de Student en Python: Ejemplos prácticos

Distribución t en Python: Aprende cómo aplicar la Distribución t en Python con ejemplos para pruebas de hipótesis e intervalos de confianza.

Aprendiendo Bootstraping con Python

Aprende cómo aplicar el bootstraping en la práctica utilizando Python. Explore casos de uso y ejemplos de código para fortalecer tus habilidades estadísticas.

Dominando Apache Spark (VI): Diferentes tipos de Joins en DataFrames con ejemplos en PySpark

Descubre los secretos de los joins en DataFrames con Spark en este artículo. Aprende a utilizar diferentes tipos de joins en PySpark con ejemplos detallados para perfeccionar tus habilidades de procesamiento de datos.

Consejos y ejemplos para utilizar Prompts en ChatGPT en programación

Aprende a utilizar los promps en ChatGPT para abordar desafíos comunes en el desarrollo.

Dominando Apache Spark (VII): Funciones para cargar y exportar datos en PySpark

En este artículo, exploramos funciones avanzadas para importar y exportar datos en PySpark.

Otros 6 Trucos clave para Promps en ChatGPT para Programación

Descubre consejos y trucos clave para sacar el máximo provecho de los promps en ChatGPT en tus proyectos de programación.

Ads Blocker Image Powered by Code Help Pro

Por favor, permite que se muestren anuncios en nuestro sitio web

Querido lector,

Esperamos que estés disfrutando de nuestro contenido. Entendemos la importancia de la experiencia sin interrupciones, pero también queremos asegurarnos de que podamos seguir brindándote contenido de alta calidad de forma gratuita. Desactivar tu bloqueador de anuncios en nuestro sitio nos ayuda enormemente a lograrlo.

¡Gracias por tu comprensión y apoyo!