Inicio › Tecnología › Cuaderno Computacional
Un cuaderno computacional es un documento interactivo qué combina en un mismo archivo celdas de código ejecutable, el resultado de esa ejecución (tablas, gráficos, valores) y texto explicativo en formato enriquecido, organizado de forma secuencial y editable. Jupyter Notebook, heredero del proyecto IPython, es el formato más extendido y admite múltiples lenguajes -Python, R, Julia- aunque existen alternativas como R Markdown o los cuadernos integrados en Google Colab, qué además ofrece acceso gratuito a GPU en la nube para entrenar modelos. Este formato se ha convertido en la herramienta habitual en ciencia de datos y aprendizaje automático porque permite iterar rápidamente sobre un análisis y documentar el razonamiento junto al propio código, aunque plantea dificultades conocidas para el control de versiones y para llevar ese código a producción sin refactorizarlo antes.
Es un documento donde puedes escribir código, ejecutarlo por trozos y ver el resultado justo debajo -una tabla, un gráfico- mezclado con explicaciones de texto normal, todo en el mismo archivo. Es muy popular entre quienes analizan datos porque permite probar cosas paso a paso e ir viendo qué pasa sin tener qué ejecutar todo el programa entero cada vez.
Un analista de datos qué investiga por qué han caído las ventas de un producto puede abrir un cuaderno computacional, cargar los datos de ventas en una celda, generar en la siguiente un gráfico de la evolución mensual, probar distintos filtros por región en celdas sucesivas sin perder los resultados anteriores, y finalmente documentar sus conclusiones en celdas de texto junto al propio código qué las genera.
Un script se ejecuta de principio a fin como un bloque único; un cuaderno permite ejecutar celdas individuales en cualquier orden, conservando en memoria los resultados intermedios, lo qué facilita experimentar sin relanzar todo el programa cada vez.
Porque el archivo almacena internamente, además del código, metadatos de ejecución y las propias salidas en un formato JSON poco legible, lo qué hace qué las diferencias entre versiones sean difíciles de interpretar y generen conflictos de fusión confusos.
No es recomendable sin adaptarlo antes: el orden de ejecución no lineal de las celdas puede ocultar dependencias entre pasos, por lo qué suele ser necesario reescribir la lógica como funciones ordenadas antes de integrarla en un sistema en producción.