Primeros pasos con Jupyter Notebook

Jupyter Notebook es un entorno de trabajo interactivo que permite desarrollar código en Python de manera dinámica, a la vez que integrar en un mismo documento tanto bloques de código como texto, gráficas o imágenes.

Índice de contenidos


1. Introducción

Jupyter Notebook, en adelante Jupyter, es un entorno de trabajo interactivo que permite desarrollar código en Python (por defecto, aunque veremos más adelante cómo permitir otros lenguajes) de manera dinámica, a la vez que integrar en un mismo documento tanto bloques de código como texto, gráficas o imágenes. Es un SaaS utilizado ampliamente en análisis numérico, estadística y machine learning, entre otros campos de la informática y las matemáticas.


2. Entorno

El tutorial está escrito usando el siguiente entorno:

  • Hardware: Portátil MacBook Pro 15′ (2.2 Ghz Intel Core i7, 16GB DDR3).
  • Sistema Operativo: Mac OS High Sierra 10.13


3. Instalación

Lo primero que necesitamos es tener instalado Python 3, que podemos descargar de su web oficial. Una vez hecho, actualizamos vía terminal el gestor de paquetes de Python e instalamos Jupyter. Al arrancarlo, se abrirá una nueva ventana en nuestro navegador predefinido, y la terminal quedará bloqueada con el proceso. Podemos abrirlo en otro navegador, para lo cual se nos indica la URL en la salida por pantalla.

python3 -m pip install --upgrade pip
pip3 install jupyter
jupyter notebook


4. Creando un cuaderno

Como arrancamos Jupyter desde la terminal, se abrirá el workspace en la carpeta en la que estemos (que generalmente será nuestro home de usuario). Es conveniente saber que no permite navegar a carpetas superiores a la inicial. Con el botón New, podemos crear:

  • Carpetas (recomendable para organizar todo).
  • Archivos de texto (con un editor bastante simple).
  • Terminales.
  • Cuadernos, que es la opción que vamos a estudiar en este tutorial.

Cuando creamos un cuaderno, se nos abre en una pestaña nueva. La interfaz es muy sencilla, con una barra de menú y herramientas y una celda vacía, que es la unidad básica de trabajo con Jupyter. En una celda, podremos escribir una o varias líneas de código, y ejecutarla. También podemos escribir texto plano, y eliminar la celda del flujo de ejecución del cuaderno o hacer que se muestre de manera diferente si queremos que funcione como título, separador de sección, etc. Lo veremos más adelante.

Es importante remarcar que tenemos dos modos de trabajo en Jupyter:

  • Edición, que permite modificar el contenido de las celdas, como si fuera un editor de texto. La celda que tengamos seleccionada se muestra en verde. Podemos entrar en el mismo seleccionando una celda y pulsando Enter.

  • Mando, que nos permite ejecutar celdas o modificar el cuaderno y su estructura. La celda seleccionada se muestra en azul. Podemos volver al modo de mando pulsando Esc.

Para ejecutar una celda, haremos Control + Enter, o si queremos pasar automáticamente a la siguiente después de ejecutarla, podemos hacer Shift + Enter. Para saber cuándo una celda se ha ejecutado, está en ello o ya ha terminado, podemos mirar la cabecera de la celda:

  • Si solamente aparece In [ ], quiere decir que aún no se ha ejecutado.
  • Si lo que tenemos es In [*], entonces está en proceso de ejecución.
  • Si aparece un número entre los corchetes, ya ha terminado de ejecutar. La única pega es que podemos haber hecho cambios posteriores a su ejecución, y esto no se indica de ninguna manera.

Todos los atajos de teclado disponibles están en el botón


5. Escribiendo código

Es importante, a la par que evidente, tener instalados los paquetes de Python que queramos utilizar. Una vez hecho, podemos importarlos al cuaderno. Para los ejemplos utilizados en este tutorial, será necesario instalar los paquetes matplotlib, numpy y emoji. Recuerdo que la instalación de los mismos se hace igual que instalamos jupyter al principio del tutorial, es decir:

pip3 install matplotlib

Podemos escribir cualquier tipo de algoritmo, como podría ser una búsqueda binaria:

def busqueda_binaria(array, valor):
    ary = array
    a = 0
    b = len(array)

    while a < b:
        m = (a + b) // 2

        if array[m] == valor:
            return m
        elif array[m] < valor:
            a = m + 1
        else:
            b = m

    return None

x1 = [0,1,2,3,4,5,6,7]
x2 = [1,4,8,12,41]
x3 = [0,1,2,4,8,16,32]


5.1. LaTeX

Para mostrar código LaTeX en nuestro cuaderno, simplemente tenemos que escribir entre dólares (simples o dobles, según queramos), y marcar la celda como texto plano (Markdown).


5.2. Otros lenguajes

Para poder trabajar en Jupyter con otros lenguajes, se han desarrollado diferentes _kernels_. Los más utilizados, aparte del propio python, son:

  • Haskell: kernel ihaskell.
  • Javascript: kernel ijavascript.
  • Julia: kernel ijulia.

Para añadirlos, debemos utilizar los siguientes comandos:

sudo add-apt-repository ppa:chronitis/jupyter
sudo apt-get update
sudo apt-get install nombre_del_kernel

Una vez instalados, simplemente seleccionamos el kernel deseado en la barra de menú de Jupyter.


6. Gráficas

La librería matplotlib.pyplot nos ofrece multitud de opciones a la hora de trabajar con gráficas, desde pintar varias funciones en la misma figura, con diferentes colores o diseños, hasta indicar por ejemplo el máximo de una función.


7. Texto

Varias cositas referentes a la escritura de texto plano:

  • Como se ha mencionado antes, se debe indicar que el tipo de celda es Markdown.
  • Podemos separar el contenido del documento con cabeceras para secciones, subsecciones, subsubsecciones… Es tan fácil como añadir de una a cinco almohadillas (#) al principio de la línea, tantas como el nivel que queramos tenga el título.

  • Podemos añadir imágenes, indicando anchura, alineación, etc., con el comando

    
    
  • Si queremos mostrar una lista, con guión + espacio se formateará correctamente.
  • ¡Podemos incluso añadir emojis!


  • 8. Conclusiones

    Como podemos ver, Jupyter es una herramienta bastante completa, que nos permite crear documentos que combinen código ejecutable, representaciones gráficas de su ejecución y texto plano. También es muy sencillo de utilizar (siempre y cuando ya sepas programar en Python, claro), así que ¿a qué esperas?

    P.S.: como extra, te dejo aquí este tutorial formateado en Jupyter. ¡Que lo disfrutes!

    Adictosaltrabajo.com – Jupyter.ipynb

Comentarios

4 respuestas

  1. buenas, los saludo desde Costa Rica.
    mi nombre es leonardo
    estoy estudiando lenguaje python para aplicaciones de escritorio
    queria saber si este IDE Jupyter se puede usar en estas aplicaciones o solo
    para crear webs.
    ademas si me pueden mandar informacion mas detallata de jupyter
    muchas gracias
    pura vida!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad

Información básica acerca de la protección de datos

  • Responsable: IZERTIS S.A.
  • Finalidad: Envío información de carácter administrativa, técnica, organizativa y/o comercial sobre los productos y servicios sobre los que se nos consulta.
  • Legitimación: Consentimiento del interesado
  • Destinatarios: Otras empresas del Grupo IZERTIS. Encargados del tratamiento.
  • Derechos: Acceso, rectificación, supresión, cancelación, limitación y portabilidad de los datos.
  • Más información: Puedes ampliar información acerca de la protección de datos en el siguiente enlace:política de privacidad

Consultor tecnológico de desarrollo de proyectos informáticos.
Doble graduado en Ingeniería Informática y Matemáticas (UCM).
Puedes encontrarme en Autentia: Ofrecemos servicios de soporte a desarrollo, factoría y formación.
Somos expertos en Java/Java EE

¿Quieres publicar en Adictos al trabajo?

Te puede interesar

10/06/2025

Iván Suarez Romero

Aprende cómo migrar tu sitio Joomla 3 a Joomla 5 de forma segura, manteniendo el diseño, la funcionalidad y compatibilidad con extensiones. Una guía paso a paso con recomendaciones, imágenes y buenas prácticas para actualizar sin sorpresas.

04/06/2025

Gonzalo Matarrubia González

Descubre qué es Yocto Project, sus ventajas, usos reales en Izertis y cómo crear tu propia distribución Linux para Raspberry Pi paso a paso, de forma sencilla y flexible.

30/05/2025

Roberto José

¿Trabajas con Drupal y SonarQube 9.9? En este artículo exploramos cómo adaptar el análisis estático para evitar falsos positivos, desactivar reglas conflictivas del Quality Profile y delegar el estilo a PHP CodeSniffer. Una guía práctica para mejorar la integración sin depender aún de SonarQube 10.