Saltar al contenido

Empezando con el Cuaderno Jupyter

Escribir aplicaciones en Python a veces requiere experimentos de código rápido. Ya sea un problema de Ciencia de los Datos, un problema de Aprendizaje Automático, o cualquier otro proyecto en Python, hay muchas instancias en las que tenemos dudas sobre si nuestra lógica funcionará. En ese momento puedes sentir una pequeña pelea en tu cabeza, «¿Debería crear un nuevo archivo python para probar esto o debería simplemente colocarlo en mi código actual y probarlo?» Se necesita mucho para escribir código eficiente y, por lo tanto, probar un segmento de código es muy importante antes de fusionarlo con tu aplicación.

El Cuaderno Jupyter (Cuadernos IPython) es una gran plataforma para hacer un experimento de código rápido y también para registrar y compartir su análisis de fragmentos de código con otros. El Cuaderno Jupyter es un entorno informático interactivo basado en la web para la programación. Siendo un proyecto de código abierto (actualmente bajo Google), Jupyter es un lenguaje agnóstico y soporta un entorno de ejecución en docenas de lenguajes entre los que se encuentran R, Ruby, Python y Haskel. En esta guía aprenderemos sobre el Cuaderno Jupyter, cómo hacer que se ejecute en nuestro sistema, ejemplos que muestran el poder del Cuaderno Jupyter y por último algunos consejos para usar el Cuaderno Jupyter de forma efectiva.

Empezando con el Cuaderno Jupyter
Empezando con el Cuaderno Jupyter

Como nuestros nativos cuadernos duros, que solíamos compartir con otros, un cuaderno Jupyter puede ser compartido a través de la web. Es un documento, siguiendo un esquema versionado, y que contiene una lista ordenada de celdas de entrada/salida que pueden contener código, texto, encabezados, matemáticas, gráficos y medios ricos. Un cuaderno Jupyter toma «.ipynb» como extensión de archivo. ¿Puedes pensar en el formato que el cuaderno Jupyter está usando para transferir el documento «ipynb» a través de la web? Si «JSON» es la palabra que aparece en tu cabeza, entonces tienes razón. JSON es un formato de intercambio de datos ampliamente conocido que se utiliza para transferir datos de un extremo a otro en la Web.

Los Cuadernos Jupyter poseen la capacidad de conectarse a muchos núcleos, permitiendo la programación en muchos lenguajes. Por defecto, el Cuaderno Jupyter viene con el núcleo IPython. Se ejecuta en los navegadores web y, por lo tanto, podemos decir que debe ser una aplicación servidor-cliente. La aplicación puede ejecutarse en un PC/Laptop sin acceso a Internet, o puede instalarse en un servidor remoto, donde se puede acceder a través de Internet.

Cada aplicación viene con dos componentes principales: La interfaz de usuario y un motor que funciona bajo el capó y hace todas las operaciones y el procesamiento. En Jupyter, estos son los núcleos y un tablero de mandos.

Sí, quise decir «Kernels» , como mencioné anteriormente Jupyter facilita múltiples lenguajes de programación y para cada lenguaje de programación, habrá un Kernel diferente. Ahora surge la pregunta ¿qué es un Kernel? Un Kernel es un programa que se ejecuta e introspecta el código del usuario.

El tablero de mandos de la aplicación no sólo muestra el cuaderno que ha hecho, y puede volver a abrir, sino que también se puede utilizar para gestionar los núcleos. Sabrás cuáles están funcionando y podrás apagarlos si es necesario.

La popularidad del portátil Jupyter está aumentando drásticamente y se ha convertido en una de las interfaces de usuario favoritas de los científicos de datos, los programadores y la computación en nube. Los principales proveedores de nubes han adoptado el Cuaderno Jupyter, o herramientas derivadas, como una interfaz frontal para los usuarios de las nubes. Google, Microsoft Azure, Amazon, IBM, etc.