¿Cómo descargar el código de la Jupyter Notebook?

Dominando Jupyter Notebook: Guía Completa

14/01/2022

Valoración: 4.45 (9450 votos)

Jupyter Notebook se ha consolidado como una herramienta indispensable en el mundo de la ciencia de datos, el aprendizaje automático y la computación científica. Su interfaz interactiva basada en el navegador permite combinar código ejecutable, texto explicativo, ecuaciones y visualizaciones en un único documento, lo que facilita enormemente la experimentación, la documentación y la compartición de proyectos. Si eres un principiante que busca dar sus primeros pasos o un usuario experimentado que desea optimizar su flujo de trabajo, comprender a fondo sus capacidades es fundamental. Desde cómo iniciar un cuaderno hasta las formas de exportar tu trabajo y las poderosas funciones que puedes integrar, este artículo te guiará a través de las características clave de Jupyter Notebook para que puedas aprovechar al máximo esta versátil plataforma.

¿Cómo puedo agregar nuevas funciones a Jupyter?
Se pueden agregar nuevas funciones a Jupyter a través de extensiones. Las extensiones son un módulo de javascript. Incluso puede escribir su propia extensión que pueda acceder al DOM de la página y a la API de Jupyter Javascript. Ingrese el nombre válido para su computadora portátil en la barra de texto, luego haga clic en Aceptar.
Índice de Contenido

1. Cómo Iniciar y Abrir un Cuaderno Jupyter: Tus Primeros Pasos

Antes de sumergirte en la creación y ejecución de código, es crucial tener tu entorno de Jupyter Notebook configurado correctamente. La instalación y el lanzamiento son los cimientos sobre los que construirás tu experiencia.

Instalación de Python y Jupyter

Jupyter Notebook se ejecuta sobre Python, por lo que el primer paso es asegurar que tienes una versión compatible de Python instalada. Para este curso, se recomienda utilizar Python 3.5 o 3.6 en adelante, ya que las versiones 3.x han introducido cambios significativos que las hacen incompatibles con las versiones 2.x.

Para Usuarios de Windows: Anaconda es tu Aliado

La forma más recomendada y sencilla de instalar Python y todas las bibliotecas necesarias para trabajar con Jupyter en Windows es a través de Anaconda. Anaconda es una distribución de Python que ya incluye Jupyter Notebook, NumPy, Matplotlib y muchas otras bibliotecas populares. Al instalar Anaconda (asegúrate de elegir la versión con Python 3), se te ofrecerá la opción de agregar Anaconda a la variable PATH de tu sistema. Si lo haces, podrás ejecutar comandos de Python y Anaconda desde cualquier terminal; de lo contrario, solo podrás hacerlo desde el 'Anaconda Prompt' que se instala junto con Anaconda. La primera opción es más cómoda, pero puede generar conflictos si ya tenías otras versiones de Python instaladas.

Además, para poder leer y trabajar con videos dentro de Jupyter, necesitarás instalar un paquete adicional. Abre tu consola (CMD si agregaste Anaconda al PATH o Anaconda Prompt si no lo hiciste) y ejecuta el siguiente comando:

conda install -c menpo ffmpeg

Aunque es posible instalar Python por separado y luego las librerías manualmente con pip, Anaconda simplifica enormemente el proceso.

Para Usuarios de Linux: Flexibilidad en la Instalación

En Linux, también puedes optar por instalar Anaconda, pero es importante ser cauteloso si ya tienes una instalación de Python preexistente, ya que podrías referenciar accidentalmente la versión antigua. La mayoría de las distribuciones Linux proveen sus propios paquetes de Python, que suelen ser la mejor opción.

Para distribuciones basadas en Debian o Ubuntu, puedes instalar Python 3 y sus herramientas esenciales con los siguientes comandos:

sudo apt-get install python3 python3-pip ipython3

Una vez instalado Python, procede a instalar Jupyter y las bibliotecas fundamentales utilizando pip (o pip3, dependiendo de cómo esté configurado tu sistema):

pip3 install --upgrade pip
pip3 install jupyter matplotlib numpy scikit-image numba imageio pyqt5

Para asegurar que los comandos ejecutables de Python y pip estén disponibles desde cualquier directorio, puedes añadir la siguiente línea a tu archivo .bashrc (para que se cargue automáticamente al iniciar tu sistema):

export PATH=$PATH:~/.local/bin/

Al igual que en Windows, la instalación de ffmpeg es necesaria para el manejo de videos. Consulta la documentación específica de tu distribución para obtener instrucciones detalladas.

Verificación de la Instalación

Para confirmar que Python y las bibliotecas están correctamente instaladas, abre tu consola y ejecuta:

python --version

Si tienes tanto Python 2.x como 3.x, prueba con python3 --version para asegurarte de que estás usando la versión correcta. Luego, ingresa a la consola de Python ejecutando python (o python3) y, dentro de ella, importa las librerías para verificar su disponibilidad:

>>> import numpy
>>> import matplotlib
>>> import skimage
>>> import numba
>>> import imageio

Si no se produce ningún error, ¡estás listo para continuar!

Abriendo un Cuaderno en Jupyter Notebook

A diferencia de los scripts tradicionales de Python que se ejecutan con python nombre.py, los cuadernos de Jupyter se abren a través de un servidor web local. Para iniciar este servidor, abre tu terminal o consola (CMD, Anaconda Prompt, o Bash en Linux) y ejecuta:

jupyter notebook

Es fundamental que, antes de ejecutar este comando, navegues al directorio donde se encuentran tus cuadernos o donde deseas crearlos. Por ejemplo, si tus cuadernos están en /home/usuario/Documentos/mis_cuadernos, primero deberías ejecutar:

cd /home/usuario/Documentos/mis_cuadernos

Una vez que el servidor se inicia, automáticamente se abrirá una nueva pestaña en tu navegador web predeterminado, mostrando la interfaz de Jupyter. Desde allí, podrás elegir abrir un cuaderno existente o crear uno nuevo. Dentro del cuaderno, puedes combinar celdas de código y celdas de texto (Markdown), ejecutarlas y guardar el estado de tu trabajo en cualquier momento con Ctrl+S. Los cuadernos guardan tanto el código como los resultados de las ejecuciones, lo que los hace ideales para la exploración interactiva y la documentación.

¿Cómo crear una presentación en Jupyter Notebook?
Creación de una presentación desde Jupyter Notebook: Jupyter Notebook se puede utilizar para crear una presentación al estilo de PowerPoint. Aquí, cada celda o grupo de celdas del cuaderno se puede tratar como cada diapositiva. El botón Entrar / Salir de presentación de diapositivas de RISE aparece en la barra de herramientas del cuaderno.

2. Descargando y Compartiendo tu Código de Jupyter Notebook

Una vez que has terminado de trabajar en tu cuaderno, es probable que quieras compartirlo o guardarlo en un formato diferente para su uso posterior. Jupyter Notebook ofrece múltiples opciones de descarga y compartición, lo que facilita la colaboración y la distribución de tu trabajo.

Opciones de Descarga de Cuadernos

La forma más directa de obtener tu código o el contenido de tu cuaderno en otro formato es utilizando la opción de descarga. Dentro de la interfaz de Jupyter Notebook, generalmente encontrarás un menú 'File' (Archivo) y luego 'Download as' (Descargar como). Aquí te presentamos las opciones más comunes:

  • .ipynb (Jupyter Notebook): Este es el formato nativo del cuaderno de Jupyter. Contiene todo el código, la salida, el texto Markdown y cualquier metadato. Es ideal si planeas seguir trabajando en el cuaderno en otro entorno Jupyter o si quieres compartirlo con alguien que también usa Jupyter.
  • .py (Script de Python): Si solo necesitas el código Python de tus celdas, puedes descargarlo como un script de Python. Ten en cuenta que esto solo incluirá el código, y perderás el texto Markdown, las salidas y la estructura interactiva del cuaderno. Es útil para integrar tu código en proyectos más grandes o para ejecutarlo como un script tradicional.
  • .html (HTML): Descargar el cuaderno como un archivo HTML te permite compartir una versión estática y auto-contenida de tu trabajo que puede ser vista en cualquier navegador web. Incluirá el código, el texto y las salidas, pero no será interactivo. Es excelente para compartir resultados con personas que no tienen Jupyter instalado.
  • .pdf (PDF): Para una versión imprimible y de fácil distribución, puedes descargar tu cuaderno como PDF. Esto es útil para informes o para archivar una instantánea de tu trabajo. Dependiendo de tu configuración, esto podría requerir herramientas adicionales como LaTeX.

Estas opciones de descarga te brindan gran flexibilidad para adaptar tu cuaderno a diferentes necesidades de compartición y uso, asegurando que tu trabajo sea accesible para una audiencia amplia.

Compartiendo Cuadernos en Entornos Colaborativos

Más allá de la descarga de archivos individuales, Jupyter ofrece soluciones para entornos multiusuario y colaborativos:

  • JupyterHub: Para equipos o instituciones, JupyterHub es una excelente opción. Permite crear un hub multiusuario que genera, administra y hace de proxy para múltiples instancias del servidor de notebook Jupyter de un solo usuario. Esto significa que varios usuarios pueden acceder y trabajar en sus propios cuadernos de forma centralizada.
  • Publicación Directa: En algunos casos, puedes publicar directamente en un medio o plataforma desde el propio cuaderno de Jupyter, aunque esto a menudo requiere configuraciones o extensiones específicas.

La capacidad de descargar y compartir tu trabajo en diversos formatos hace que Jupyter Notebook sea una herramienta potente no solo para el desarrollo individual, sino también para la colaboración y la comunicación de resultados.

3. Potenciando tu Experiencia con Jupyter: Funciones y Atajos Avanzados

Jupyter Notebook va más allá de ser solo un entorno para ejecutar código. Sus funcionalidades avanzadas, comandos mágicos y atajos de teclado pueden transformar tu productividad y la forma en que interactúas con tus datos.

Extensiones y Comandos Mágicos: Más Allá de lo Básico

Jupyter permite agregar nuevas funcionalidades a través de extensiones, que son módulos de JavaScript que pueden interactuar con el DOM de la página y la API de Jupyter Javascript. Además, cuenta con una serie de comandos mágicos (Magic Commands) que facilitan tareas comunes y proporcionan información útil:

  • Calcular el Tiempo de Ejecución de una Celda: Puedes medir el tiempo que tarda en ejecutarse una celda utilizando los comandos mágicos %time (para una línea) o %%time (para toda la celda). Esto te proporciona el tiempo de pared, que es el tiempo total requerido para la ejecución.
  • Barras de Progreso con tqdm: Para scripts de código que tardan mucho en ejecutarse, una barra de progreso puede mantenerte informado sobre su estado. La biblioteca externa tqdm es ideal para esto. Primero, instálala en tu entorno Jupyter ejecutando en una celda:
    !pip3 install tqdm

    Luego, puedes usar la función tqdm importando su paquete para envolver tus iterables.

  • Formateador de Código Automático con nb_black: Mantener un código bien formateado es crucial para la legibilidad. La biblioteca nb_black es una extensión sencilla para Jupyter Notebook y Jupyter Lab que embellece tu código Python automáticamente. Instálala con:
    !pip3 install nb_black

    Y luego cárgala en tu cuaderno para activarla:

    %load_ext nb_black
  • Instalar Paquetes de Python Directamente: No necesitas salir de Jupyter para instalar nuevas bibliotecas. Simplemente prefija el comando pip install con un signo de exclamación (!) en una celda:
    !pip install pandas

Productividad en el Editor: Atajos y Vistas

Jupyter Notebook incorpora varias características que mejoran tu experiencia de codificación:

  • Documentación al Instante (Shift+Tab): Para ver la documentación de una función a la que estás llamando, simplemente coloca el cursor sobre ella y presiona Shift+Tab. Esto es increíblemente útil, ya que no necesitas abrir un navegador web cada vez. Funciona incluso para funciones personalizadas que hayas definido. Puedes expandir la documentación haciendo clic en ^ en la esquina superior derecha o en + para ver más detalles verticalmente.
  • Sugerencias de Código (Tab): Para obtener sugerencias de autocompletado para nombres de funciones o variables, presiona la tecla Tab. Aparecerá un menú desplegable con opciones que puedes navegar con las teclas de flecha o el ratón. Esto también funciona para tus propias funciones y variables personalizadas.
  • Ajustar la Vista de Salida: Cuando una celda produce mucha salida, puede ocupar demasiado espacio. Puedes ajustar su visualización haciendo clic en el panel lateral izquierdo de la salida. Un solo clic la convertirá en una ventana de desplazamiento, y un doble clic la colapsará completamente. Puedes repetir el proceso para cambiar el formato de visualización.
  • Funciones de Ejecución de Celda: Los atajos de teclado para la ejecución de celdas son esenciales para un flujo de trabajo rápido:
    • Shift + Enter: Ejecuta la celda actual y resalta la siguiente celda. Si no hay una celda siguiente, crea una nueva.
    • Alt + Enter: Ejecuta la celda actual e inserta una nueva celda debajo, resaltándola.
  • Celdas de Markdown para Descripción: Además de las celdas de código, Jupyter permite usar celdas de Markdown para escribir texto descriptivo. Esto es una forma mucho más eficaz de documentar tu trabajo que los simples comentarios en el código. Para convertir una celda en Markdown, selecciónala y elige la opción 'Markdown' en el menú desplegable de la barra de herramientas.
  • Ejecución de Múltiples Lenguajes: Aunque Jupyter se asocia principalmente con Python, puede compilar y ejecutar código de diferentes lenguajes utilizando comandos mágicos de IPython. Simplemente usa el nombre del kernel al comienzo de la celda:
    %%bash
    %%HTML
    %%python2
    %%python3
    %%ruby
    %%perl

    Esto te permite incrustar y ejecutar fragmentos de otros lenguajes directamente en tu cuaderno.

  • Edición Multi-Cursor: Para editar código en múltiples ubicaciones a la vez, mantén presionada la tecla Alt y selecciona los fragmentos de código con el ratón. Una vez seleccionados, podrás editar el código usando varios cursores simultáneamente.
  • Atajos de Teclado Personalizables: Jupyter Notebook viene con una gran cantidad de atajos de teclado predefinidos que puedes consultar en Help > Keyboard Shortcuts. Lo mejor es que también puedes editarlos para adaptarlos a tu conveniencia en Help > Edit Keyboard Shortcuts, optimizando tu velocidad de trabajo.

Dominar estas funciones y atajos no solo te hará más eficiente, sino que también hará que tu experiencia con Jupyter sea mucho más fluida y agradable.

4. Creando Presentaciones Dinámicas con Jupyter Notebook (RISE)

Una de las características más sorprendentes y menos conocidas de Jupyter Notebook es su capacidad para transformarse en una herramienta de presentación al estilo PowerPoint, utilizando tus propios cuadernos como diapositivas. Esto es posible gracias a una extensión llamada RISE.

¿Cómo abrir un cuaderno en Jupyter Notebook?
Jupyter Notebook tiene un servidor web para que accedamos a lus cuadernos mediante el navegador. El servidor de cuadernos se inicia ejecutando jupyter notebook ` desde la línea de comandos. Si ya tenemos cuadernos que queremos abrir, _antes_ de correr ese comando debemos ir al directorio con los cuadernos, de modo de poder abrirlos después.

¿Qué es RISE?

RISE (Reveal.js Integration for Slideshows) es una extensión de Jupyter Notebook que te permite crear y presentar diapositivas interactivas directamente desde tus cuadernos. Cada celda o grupo de celdas puede tratarse como una diapositiva individual, lo que te permite combinar código en vivo, salidas y texto explicativo en una presentación dinámica.

Instalación de RISE

La forma más sencilla de instalar RISE es utilizando conda, si has instalado Anaconda:

conda install -c damianavila82 rise

Si utilizas pip, el comando sería:

pip install rise

Una vez instalado, reinicia tu servidor de Jupyter Notebook.

Preparando y Ejecutando tu Presentación

Después de instalar RISE, notarás que aparecerá un botón 'Enter / Exit Slideshow' en la barra de herramientas de tu cuaderno. Además, una nueva opción de presentación de diapositivas estará disponible en View > Cell Toolbar > Slideshow.

Para preparar tu presentación:

  1. Haz clic en View > Cell Toolbar > Slideshow. Esto activará una nueva barra de herramientas encima de cada celda, donde podrás definir cómo se comportará esa celda en la presentación (por ejemplo, si es una diapositiva, una subdiapositiva, una nota, etc.).
  2. Selecciona el tipo de diapositiva para cada celda o grupo de celdas que desees incluir en tu presentación.
  3. Una vez que hayas configurado todas tus diapositivas, haz clic en el botón 'RISE Slideshow' en la barra de herramientas del cuaderno. Tu cuaderno se transformará en una presentación interactiva, lista para ser mostrada.

Esta funcionalidad es ideal para demostraciones de código, talleres o para presentar resultados de análisis de datos de una manera visualmente atractiva y fácil de seguir.

5. Visualización de Datos en Jupyter

Jupyter Notebook es una plataforma excepcional para la visualización de datos. Permite generar diferentes tipos de gráficos y representaciones utilizando las potentes bibliotecas de Python (y R). Algunas de las bibliotecas más utilizadas para crear visualizaciones son:

  • Matplotlib: La biblioteca base para la creación de gráficos estáticos en Python.
  • Seaborn: Construida sobre Matplotlib, ofrece una interfaz de alto nivel para crear gráficos estadísticos atractivos e informativos.
  • Bokeh: Para visualizaciones interactivas y escalables en navegadores web modernos.
  • Plotly: Permite crear gráficos interactivos y de alta calidad que se pueden incrustar en cuadernos o exportar.

La integración de estas bibliotecas directamente en las celdas de Jupyter permite una exploración de datos fluida y la creación de visualizaciones directamente junto al código que las genera.

Preguntas Frecuentes (FAQ) sobre Jupyter Notebook

¿Qué es Jupyter Notebook?

Jupyter Notebook es una aplicación web de código abierto que permite crear y compartir documentos que contienen código en vivo, ecuaciones, visualizaciones y texto narrativo. Es ampliamente utilizado para la limpieza y transformación de datos, simulación numérica, modelado estadístico y aprendizaje automático.

¿Por qué debería usar Jupyter Notebook?

Jupyter Notebook facilita la experimentación y el desarrollo interactivo de código, permitiendo ver los resultados de cada paso de forma inmediata. Es excelente para la documentación y la colaboración, ya que combina código y texto explicativo en un solo documento, haciendo que tu trabajo sea reproducible y fácil de entender.

¿Cómo descargar el código de la Jupyter Notebook?
Como siempre, podrás descargar todo el código de la Jupyter Notebook desde mi cuenta de Github (que contiene información extra). Y como BONUS encuentra una notebook con las funciones más útiles de Pandas! ¿Qué es el EDA?

¿Puedo ejecutar otros lenguajes además de Python en Jupyter?

Sí, aunque Python es el lenguaje principal, Jupyter es agnóstico al lenguaje. Puedes instalar y usar diferentes 'kernels' para ejecutar otros lenguajes como R, Julia, Scala, o incluso comandos de Bash y HTML directamente en tus celdas utilizando comandos mágicos.

¿Cómo instalo nuevas bibliotecas de Python en mi cuaderno Jupyter?

Puedes instalar bibliotecas directamente desde una celda de tu cuaderno. Simplemente prefija el comando de instalación de pip con un signo de exclamación (!). Por ejemplo, para instalar la biblioteca pandas, escribirías !pip install pandas y ejecutarías la celda.

¿Cómo guardo mi trabajo en un cuaderno Jupyter?

Puedes guardar el estado actual de tu cuaderno en cualquier momento presionando Ctrl + S (o Cmd + S en Mac). Jupyter también guarda automáticamente tu trabajo periódicamente. Además, puedes descargar el cuaderno en varios formatos, como .ipynb, .py, .html o .pdf, desde el menú 'File > Download as'.

¿Es Jupyter Notebook una herramienta gratuita?

Sí, Jupyter Notebook es completamente gratuito y de código abierto. Es desarrollado y mantenido por la comunidad Project Jupyter, lo que lo hace accesible para todos los usuarios y desarrolladores.

¿Qué son los 'comandos mágicos' en Jupyter?

Los comandos mágicos son comandos especiales en IPython (el kernel de Python para Jupyter) que realizan tareas específicas o proporcionan funcionalidades adicionales. Se distinguen por comenzar con uno (%) o dos (%%) signos de porcentaje. Por ejemplo, %time mide el tiempo de ejecución de una línea de código, y %%time mide el tiempo de una celda completa.

¿Cómo puedo compartir un cuaderno Jupyter con alguien que no tiene Jupyter instalado?

La forma más sencilla es descargar tu cuaderno como un archivo HTML (File > Download as > HTML). Este archivo es autocontenido y puede ser abierto y visto en cualquier navegador web, mostrando tanto el código como las salidas, sin necesidad de que el destinatario tenga Jupyter instalado.

Conclusión

Jupyter Notebook es mucho más que un simple editor de código; es un entorno de computación interactivo que empodera a científicos de datos, programadores y educadores para explorar, analizar y comunicar sus ideas de manera efectiva. Desde su sencilla instalación y lanzamiento hasta la capacidad de integrar funciones avanzadas, crear presentaciones dinámicas y compartir tu trabajo en múltiples formatos, Jupyter ofrece una flexibilidad y una potencia inigualables. Al dominar los consejos y trucos presentados en este artículo, no solo mejorarás tu eficiencia, sino que también transformarás la forma en que interactúas con tus proyectos de datos. Sigue explorando sus comandos mágicos y personalizando tus atajos de teclado para una experiencia verdaderamente optimizada. La interactividad y la reproducibilidad son el corazón de Jupyter, haciéndolo una herramienta esencial en tu arsenal de desarrollo.

Si quieres conocer otros artículos parecidos a Dominando Jupyter Notebook: Guía Completa puedes visitar la categoría Librerías.

Subir