Hoja de referencia de Jupyter Notebook

Atajos esenciales y comandos mágicos

Índice

Jumpstart the productividad de Jupyter Notebook con atajos esenciales, comandos mágicos y consejos de flujo de trabajo que transformarán tu experiencia en ciencia de datos y desarrollo.

interfaz de Jupyter Notebook

Jupyter Notebook se ha convertido en el estándar de facto para computación interactiva, análisis de datos y flujos de trabajo de aprendizaje automático. Ya sea que estés trabajando con Python para ciencia de datos, experimentando con modelos de inteligencia artificial o prototipando código, dominar los atajos del teclado y los comandos mágicos de Jupyter puede aumentar significativamente tu productividad.

Este manual de referencia cubre los comandos y atajos más esenciales que todo usuario de Jupyter debe conocer, desde la navegación básica de celdas hasta los comandos mágicos avanzados que optimizan tu flujo de trabajo. Si eres nuevo en el desarrollo en Python, también podrías encontrar útil nuestro cheatsheet de Python para entender las construcciones del lenguaje de Python que funcionan de forma fluida dentro de las celdas de Jupyter.

Entendiendo el modo de comandos vs. modo de edición

Jupyter Notebook opera en dos modos distintos que determinan qué atajos de teclado están disponibles:

  • Modo de comandos (activado presionando Esc): Controla operaciones a nivel de celda, como crear, eliminar y convertir celdas
  • Modo de edición (activado presionando Enter): Permite editar el contenido dentro de una celda

El atajo más importante para recordar es presionar H en modo de comandos, lo cual muestra el cuadro de diálogo completo de ayuda de atajos de teclado. Este es tu referencia rápida cuando olvidas un atajo específico.

Atajos esenciales del modo de comandos

El flujo de trabajo central en Jupyter gira en torno a ejecutar celdas de manera eficiente:

  • Shift + Enter: Ejecuta la celda actual y selecciona automáticamente la celda siguiente. Este es el atajo más utilizado para ejecutar código secuencialmente.
  • Ctrl + Enter: Ejecuta la celda actual sin moverte a la siguiente. Ideal cuando deseas reejecutar una celda múltiples veces.
  • Alt + Enter: Ejecuta la celda actual e inserta una nueva celda debajo. Ideal para desarrollo iterativo donde necesitas agregar nuevas celdas con frecuencia.

Gestión de celdas

Gestionar la estructura de tu cuaderno de manera eficiente es crucial para mantener cuadernos limpios y organizados:

  • A: Inserta una nueva celda encima de la celda actual
  • B: Inserta una nueva celda debajo de la celda actual
  • D, D (presiona D dos veces): Elimina la celda actual. ¡Ten cuidado con este atajo!
  • Z: Deshace la última eliminación de celda. Una salvación cuando accidentalmente eliminas celdas importantes.
  • Shift + M: Combina celdas seleccionadas. Selecciona múltiples celdas usando Shift + J o Shift + K para navegar, luego combínalas.

Conversión de tipos de celda

Cambiar rápidamente entre tipos de celda es esencial para crear cuadernos bien documentados:

  • Y: Convierte la celda en Código
  • M: Convierte la celda en Markdown
  • R: Convierte la celda en Crudo (no se ejecuta, útil para notas)
  • 1 a 6: Convierte la celda en encabezados de nivel 1 a 6 para documentación estructurada

Operaciones del núcleo

Cuando estás trabajando con cálculos de larga duración o depuración, el control del núcleo es esencial:

  • I, I (presiona I dos veces): Interrumpe el núcleo. Crítico cuando necesitas detener un cálculo descontrolado.
  • 0, 0 (presiona 0 dos veces): Reinicia el núcleo. Úsalo cuando necesitas limpiar todas las variables y comenzar de nuevo.

Visualización y navegación

  • L: Alterna los números de línea en la celda actual. Útil para depurar y referirse a líneas específicas.
  • O: Alterna la salida de la celda. Oculta la salida para mantener el cuaderno limpio cuando presentas.
  • H: Muestra el cuadro de diálogo de ayuda de atajos de teclado

Atajos esenciales del modo de edición

Cuando estás editando código dentro de una celda, estos atajos imitan la funcionalidad común de editores de texto:

Edición de texto

  • Tab: Completar código o indentar. La autocompletación de Jupyter es poderosa y contextual.
  • Shift + Tab: Muestra la herramienta de información/documentación del objeto bajo el cursor. Es increíblemente útil para explorar APIs sin salir del cuaderno.
  • Ctrl + ]: Indentar líneas seleccionadas
  • Ctrl + [: Desindentar líneas seleccionadas
  • Ctrl + /: Alternar comentario en líneas seleccionadas. Esencial para comentar rápidamente código durante la depuración.
  • Ctrl + A: Seleccionar todo el texto en la celda
  • Ctrl + Z: Deshacer
  • Ctrl + Shift + Z o Ctrl + Y: Rehacer
  • Ctrl + Home: Ir al inicio de la celda
  • Ctrl + End: Ir al final de la celda
  • Ctrl + Izquierda: Mover el cursor una palabra a la izquierda
  • Ctrl + Derecha: Mover el cursor una palabra a la derecha

Cambio de modo

  • Esc: Cambiar al modo de comandos (desde el modo de edición)

Comandos mágicos: Potencia tu flujo de trabajo

Los comandos mágicos son directivas especiales que extienden la funcionalidad de Jupyter. Vienen en dos sabores: comandos mágicos de línea (prefijados con %) que operan en una sola línea, y comandos mágicos de celda (prefijados con %%) que operan en toda la celda.

Perfilado de rendimiento

Entender el rendimiento del código es crucial para optimizarlo. Jupyter proporciona comandos de temporización integrados:

# Tiempo de ejecución única
%time sum(range(1000000))

# Tiempo de múltiples ejecuciones con promedio (más preciso)
%timeit sum(range(1000000))

# Tiempo de una celda completa
%%time
total = 0
for i in range(1000000):
    total += i

El comando %timeit es especialmente valioso ya que ejecuta el código múltiples veces y proporciona información estadística sobre el tiempo de ejecución, lo que lo hace ideal para comparar diferentes enfoques del mismo problema.

Ejecutar scripts externos

El mago %run permite ejecutar scripts externos de Python dentro de tu cuaderno, facilitando la modularización del código:

%run my_script.py

Esto es especialmente útil cuando estás trabajando con proyectos más grandes donde deseas mantener funciones reutilizables en archivos separados. Si estás gestionando entornos de Python, podrías estar usando herramientas como uv o venv para la gestión de entornos, y %run funciona de forma fluida con estas configuraciones.

Gestión de paquetes

Puedes instalar y gestionar paquetes de Python directamente desde tu cuaderno:

!pip install numpy pandas matplotlib
!conda install scipy

Esto elimina la necesidad de cambiar entre terminal y cuaderno, optimizando tu flujo de desarrollo. El prefijo ! ejecuta comandos de shell, los cuales exploraremos más abajo.

Visualización

Para la visualización de datos con matplotlib, usa:

%matplotlib inline

Esto asegura que los gráficos se rendericen directamente dentro de las celdas del cuaderno, ofreciendo una experiencia de visualización sin interrupciones. También puedes usar %matplotlib widget para gráficos interactivos en JupyterLab.

Operaciones de archivos

El mago de celda %%writefile escribe el contenido de la celda en un archivo:

%%writefile example.py
def hello_world():
    print("Hello, World!")
    return True

Esto es útil para generar scripts o guardar fragmentos de código directamente desde tu cuaderno. Por el contrario, puedes leer archivos usando operaciones estándar de archivos de Python o comandos de shell.

Comandos de shell

Ejecuta comandos de shell directamente desde celdas del cuaderno:

# Comando de shell en una sola línea
!ls -l
!pwd
!git status

# Comandos de shell en varias líneas
%%bash
echo "Hello from Bash"
ls -l
find . -name "*.py" | head -10

Esta integración es poderosa para gestionar archivos, operaciones de control de versiones y tareas de administración del sistema sin salir del entorno del cuaderno.

Explorando comandos mágicos disponibles

Para descubrir todos los comandos mágicos disponibles:

# Lista todos los comandos mágicos
%lsmagic

# Obtiene ayuda sobre un comando mágico específico
%timeit?
%matplotlib?

El operador ? después de cualquier comando mágico muestra su documentación, parámetros y ejemplos de uso. Esto es una excelente manera de explorar las capacidades de Jupyter de forma interactiva.

Consejos avanzados y buenas prácticas

Organizar tu cuaderno

  1. Usa celdas de Markdown ampliamente: Los cuadernos bien documentados son más fáciles de entender y mantener. Usa niveles de encabezado (1-6) para crear una estructura clara.

  2. Mantén las celdas enfocadas: Cada celda debe tener un único propósito claro. Esto facilita la depuración y mejora la legibilidad.

  3. Usa números de ejecución de celdas: Los números de ejecución (In [1], In [2], etc.) te ayudan a rastrear el orden de ejecución, lo cual es crucial cuando las celdas se ejecutan fuera de orden.

Trabajar con cuadernos grandes

Cuando los cuadernos crecen grandes, estas técnicas ayudan a mantener la organización:

  • Usa la extensión de índice (si está disponible) para la navegación
  • Separa secciones relacionadas en cuadernos separados
  • Usa %%writefile para extraer código reutilizable en módulos de Python
  • Reinicia el núcleo (0, 0) y ejecuta todas las celdas regularmente para garantizar la reproducibilidad

Integración con otras herramientas

Los cuadernos de Jupyter funcionan excelente con la herramienta moderna de Python. Si estás trabajando con LLMs y necesitas salida estructurada, puedes integrar cuadernos con herramientas como Ollama para salida estructurada de LLMs. Para web scraping y procesamiento de datos, podrías encontrarte usando bibliotecas que convierten HTML a Markdown, similar a lo que cubrimos en nuestra guía de conversión de HTML a Markdown.

Flujo de trabajo de depuración

  1. Usa el mago %debug después de una excepción para entrar en el depurador
  2. Usa %pdb on para entrar automáticamente en el depurador en excepciones
  3. Las impresiones y %timeit ayudan a identificar cuellos de botella de rendimiento
  4. Reinicia el núcleo (0, 0) cuando las variables se encuentren en estados inesperados

Personalización

Puedes personalizar los atajos del teclado yendo a HelpKeyboard Shortcuts en el menú de Jupyter Notebook. Esto permite adaptar el entorno a tus preferencias específicas de flujo de trabajo.

Conclusión

Dominar los atajos y comandos mágicos de Jupyter Notebook transforma este editor de código simple en un poderoso entorno de computación interactiva. Comienza memorizando los atajos más utilizados (Shift+Enter, Esc, A, B, D+D, M, Y), y luego incorpora gradualmente los comandos mágicos a tu flujo de trabajo. El tiempo invertido en aprender estos comandos paga dividendos en productividad y eficiencia del flujo de trabajo.

Recuerda: presiona H en modo de comandos en cualquier momento para ver la referencia completa de atajos, y usa %lsmagic para explorar todos los comandos mágicos disponibles. ¡Feliz codificación!

Enlaces útiles

Referencias externas