Buenas prácticas para Jupyter Notebooks
Celdas numeradas, limpieza de resultados antes de hacer commit y uso de papermill para ejecuciones parametrizadas.
Buenas prácticas para Jupyter Notebooks es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
La doble cara de los notebooks
Los notebooks de Jupyter son fantásticos para explorar: permiten ejecutar código en celdas, ver gráficos insertados y trabajar de forma iterativa con rapidez. Pero esa misma flexibilidad puede generar un trabajo desordenado y no reproducible si no mantiene la disciplina.
En esta lección se explican hábitos que mantienen los notebooks limpios y fiables.
Estado oculto: el problema central
Puede ejecutar las celdas en cualquier orden, y los resultados anteriores permanecen en la memoria. Este estado oculto significa que un notebook puede mostrar resultados correctos que ninguna ejecución nueva lograría reproducir.
Casi todas las buenas prácticas para notebooks existen para combatir el estado oculto.
Ejecutar las celdas secuencialmente
Los contadores de ejecución, como [1] y [2] junto a las celdas, deberían aumentar de arriba abajo. Números desordenados, como [7] encima de [3], indican que el notebook depende del estado oculto.
Escriba los notebooks de modo que tengan sentido al leerlos directamente de arriba abajo.
Reiniciar el kernel y ejecutar todo
La regla de oro: antes de confiar en un notebook o confirmarlo, seleccione Kernel → Reiniciar y ejecutar todo. Esto borra la memoria y ejecuta todas las celdas desde cero.
Si se ejecuta correctamente de arriba abajo, el notebook es reproducible. Si falla, habrá encontrado errores causados por el estado oculto.
Mantener las celdas enfocadas
Un paso lógico por celda hace que los notebooks sean legibles y se puedan volver a ejecutar. Evite las celdas enormes que hacen diez cosas y también repartir una sola operación entre muchas celdas diminutas.
Use celdas Markdown para explicar las secciones como si se tratara de un informe.
Mover el código reutilizable a módulos
Cuando una función demuestre ser útil, sáquela del notebook, colóquela en src/ e impórtela. Así los notebooks se mantienen ligeros, el código se puede probar y se evita que las copias diverjan entre notebooks.
from src.features.build_features import make_features
X = make_features(df) # logic lives in a tested moduleEl problema de las diferencias en las salidas
Los notebooks almacenan las salidas de las celdas, como texto, tablas grandes e imágenes en base64, dentro del JSON de .ipynb. Confirmarlas hace que las diferencias de Git sean enormes y ruidosas, y puede provocar filtraciones de datos.
La solución: elimine las salidas antes de confirmar los cambios.
Borrar salidas con nbstripout
nbstripout elimina automáticamente las salidas de los notebooks. Instálelo como filtro de Git para que las salidas se eliminen en cada confirmación sin que tenga que acordarse.
# pip install nbstripout
nbstripout --install # adds a git filter for this repo
# now committed notebooks have clean, output-free diffsParametrizar notebooks con papermill
papermill ejecuta un notebook mediante programación con parámetros inyectados, como si se llamara a una función. Marque una celda como parameters y papermill sobrescribirá esos valores en cada ejecución.
# pip install papermill
# papermill analysis.ipynb out.ipynb -p dataset "may.csv" -p seed 42Ejecuciones parametrizadas en código
También puede controlar papermill desde Python para ejecutar el mismo notebook de análisis con muchas entradas, una forma limpia de procesar experimentos por lotes.
import papermill as pm
for ds in ["jan.csv", "feb.csv", "mar.csv"]:
pm.execute_notebook(
"analysis.ipynb",
f"out_{ds}.ipynb",
parameters={"dataset": ds, "seed": 42},
)Lista de comprobación de higiene de un notebook
Antes de compartir o confirmar un notebook:
- Reinicie el kernel y ejecute todo: debe completarse correctamente
- Las celdas se ejecutan de arriba abajo con contadores crecientes
- La lógica reutilizable se ha trasladado a
src/ - Las salidas se han eliminado (nbstripout)
- El código Markdown explica el desarrollo
Comprobación rápida: confiar en un notebook
Antes de confirmar los cambios, desea comprobar que el notebook es reproducible y no contiene errores causados por el estado oculto.
Resumen: buenas prácticas para notebooks
Ha aprendido a mantener los notebooks limpios y reproducibles:
- Combata el estado oculto: ejecute las celdas secuencialmente
- Reinicie y ejecute todo antes de confiar en un notebook o confirmarlo
- Mueva el código reutilizable a módulos en
src/ - Use nbstripout para borrar las salidas y obtener diferencias de Git limpias
- Use papermill para ejecutar notebooks parametrizados por lotes
Con esto termina el curso sobre estructura de proyectos de IA y flujo de trabajo de Git.
Preguntas frecuentes
¿La lección «Buenas prácticas para Jupyter Notebooks» es gratis?
Sí — el texto completo de «Buenas prácticas para Jupyter Notebooks» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Buenas prácticas para Jupyter Notebooks»?
Celdas numeradas, limpieza de resultados antes de hacer commit y uso de papermill para ejecuciones parametrizadas. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Buenas prácticas para Jupyter Notebooks»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estructura profesional de directorios para proyectos de IA
- Git para proyectos de IA
- Reproducibilidad: semillas, configuraciones y entornos
- Buenas prácticas para Jupyter Notebooks