Hoja de referencia de Jupyter Notebook
Atajos esenciales y comandos mágicos
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.

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
Navegación y ejecución de celdas
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 actualB: Inserta una nueva celda debajo de la celda actualD, D(presionaDdos 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 usandoShift + JoShift + Kpara 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ódigoM: Convierte la celda en MarkdownR: Convierte la celda en Crudo (no se ejecuta, útil para notas)1a6: 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(presionaIdos veces): Interrumpe el núcleo. Crítico cuando necesitas detener un cálculo descontrolado.0, 0(presiona0dos 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 seleccionadasCtrl + [: Desindentar líneas seleccionadasCtrl + /: Alternar comentario en líneas seleccionadas. Esencial para comentar rápidamente código durante la depuración.
Navegación
Ctrl + A: Seleccionar todo el texto en la celdaCtrl + Z: DeshacerCtrl + Shift + ZoCtrl + Y: RehacerCtrl + Home: Ir al inicio de la celdaCtrl + End: Ir al final de la celdaCtrl + Izquierda: Mover el cursor una palabra a la izquierdaCtrl + 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
-
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.
-
Mantén las celdas enfocadas: Cada celda debe tener un único propósito claro. Esto facilita la depuración y mejora la legibilidad.
-
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
%%writefilepara 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
- Usa el mago
%debugdespués de una excepción para entrar en el depurador - Usa
%pdb onpara entrar automáticamente en el depurador en excepciones - Las impresiones y
%timeitayudan a identificar cuellos de botella de rendimiento - Reinicia el núcleo (
0, 0) cuando las variables se encuentren en estados inesperados
Personalización
Puedes personalizar los atajos del teclado yendo a Help → Keyboard 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
- Cheatsheet de Python
- uv - Nuevo paquete, proyecto y gestor de entornos de Python
- Cheatsheet de venv
- LLMs con salida estructurada: Ollama, Qwen3 y Python o Go
- Convertir HTML a Markdown con Python: Una guía completa