CAPÍTULO 8 Ciencia de datos

CAPÍTULO 8 Ciencia de datos

La Ciencia de Datos representa uno de los ámbitos de aplicación más importantes dentro del mundo Python. De hecho, en la encuesta a desarrolladores/as de JetBrains del año 2021 se puede observar que análisis de datos y aprendizaje automático están en primera y cuarta opción en la pregunta ¿para qué utiliza Python?.

Muchos de los paquetes que veremos en esta sección también vienen incluidos por defecto en Anaconda una plataforma para desarrollo de ciencia de datos que dispone de instaladores para todos los sistemas operativos.

8.1 jupyter

CAPÍTULO 8 Ciencia de datos

El módulo jupyter proporciona un entorno de desarrollo integrado para ciencia de datos, que no es exclusivo de Python, sino que además admite otros lenguajes en su «backend».

CAPÍTULO 8 Ciencia de datos

Para lanzar el servidor de «notebooks»: $ jupyter notebook

CAPÍTULO 8 Ciencia de datos

Nota: Este comando nos debería abrir una ventana en el navegador web por defecto del sistema, apuntando a la dirección http://localhost:8888
8.1.1 Notebooks

Un «notebook» es un documento que está compuesto por celdas en las que podemos incluir:

  • Texto en formato markdown (incluyendo fórmulas).
  • Elementos multimedia.
  • Código Python ejecutable.

CAPÍTULO 8 Ciencia de datos

Figura 1: Ejecución de celdas en Jupyter Notebook

En código «markdown», la salida de la celda es la renderización del texto. En código Python, la salida de la celda es el resultado de la última sentencia incluida en la celda.

Nota: Los «notebooks» o cuadernos son básicamente archivos de texto en formato json con extensión .ipynb (que proviene de «IPython Notebook»).
8.1.2 Interfaz

Jupyter se presenta como una aplicación web en cuya interfaz podemos encontrar distintos elementos que nos permitirán desarrollar nuestras tareas de programación de una forma más cómoda.

Explorador de archivos

Lo primero que veremos al arrancar el servidor de «notebooks» será el explorador de archivos con un diseño muy similar al de cualquier sistema operativo.

Nota: Los «notebooks» que se están ejecutando suelen tener un color verde en el icono, mientras que los que están parados aparecen en gris.

CAPÍTULO 8 Ciencia de datos
Figura 2: Explorador de archivos de Jupyter Notebook

Barra de menú

Menú Fichero

Del estilo de los menús tradicionales de aplicaciones, aquí podemos encontrar las principales funciones sobre ficheros.

Checkpoints: Permiten guardar el estado del «notebook» en un momento determinado para luego poder revertirlo a ese momento del tiempo.

Exportar notebooks: Es posible exportar «notebooks» a una gran variedad de formatos:

  • Python (.py)
  • HTML(.html)
  • js «slides» (.html)
  • Markdown (.md)
  • reST (.rst)
  • PDF vía LaTeX (.pdf)
  • asciidoc (.asciidoc)
  • custom (.txt)
  • LaTeX (.tex)

Ejercicio

Cree un «notebook» de prueba y descárgelo en formato HTML y Markdown.

CAPÍTULO 8 Ciencia de datos

Figura 3: Menú Fichero de Jupyter Notebook

Menú Edición

Este menú contiene las acciones que podemos realizar sobre una o varias celdas.

Las funciones las podríamos agrupar en gestión de celdas (cortar, pegar, borrar, dividir, unir, mover, etc.) e inserción de imágenes seleccionando desde un cuadro de diálogo.

Menú Vista

Permite modificar el aspecto visual de determinados elementos de la aplicación.

Números de línea: Puede resultar interesante mostrar los números de línea en celdas que contengan código.

Modo presentación (Cell Toolbar Q Slideshow) : Jupyter Notebook ofrece la posibilidad de crear una presentación sobre el documento en el que estamos trabajando. Cada celda se puede configurar con alguno de los siguientes tipos:

  • Slide.
  • Subslide.
  • Fragment.
  • Skip.
  • Notes.

Etiquetas (Cell Toolbar Q Tags): Es interesante – entre otras – el uso de la etiqueta raises-exception ya que nos permite ejecutar todas las celdas de un «notebook» sin que el sistema se detenga por errores en la celda etiquetada, ya que estamos informando que lanzará una excepción.

Menú Insertar

Insertar celda antes o después de la actual.

Menú Celda

Principalmente enfocado a la ejecución de las celdas que componen el «notebook».

Ejecución de celdas: La ejecución de celdas se puede hacer de forma individual o grupal así como indicando el punto de partida (celda actual).

Tipo de celdas:

CAPÍTULO 8 Ciencia de datos

Figura 4: Menú Edición de Jupyter Notebook

CAPÍTULO 8 Ciencia de datos

Figura 5: Menú Vista de Jupyter Notebook

CAPÍTULO 8 Ciencia de datos

Figura 6: Menú Insertar de Jupyter Notebook

CAPÍTULO 8 Ciencia de datos

Figura 7: Menú Celda de Jupyter Notebook

  • Code: para incluir código (se podrá ejecutar el lenguaje de programación según el «kernel» instalado).
  • Markdown: para escribir texto utilizando sintaxis markdown.
  • Raw: estas celdas no serán formateadas.

Salida de celdas: La ejecución de las celdas de código tiene (suele tener) una salida. Esta salida se puede ocultar (si interesa). Incluso tenemos control sobre activar o desactivar el «scroll» en caso de que la salida sea muy larga.

Menú Kernel

Permite gestionar el servicio que se encarga de lanzar los «notebooks».

CAPÍTULO 8 Ciencia de datos

Figura 8: Menú Kernel de Jupyter Notebook

El kernel es la capa de software que se encarga de ejecutar las celdas de nuestro «notebook» que contienen código. Podemos tener instalados distintos «kernels» para un mismo Jupyter Notebook. El kernel se puede interrumpir o reiniciar.

Hay veces, que debido a un error de programación o a procesos muy largos, podemos encontrarnos con el «kernel» bloqueado durante un largo período de tiempo. En estas
ocasiones es útil reiniciarlo para salvar esa situación.

CAPÍTULO 8 Ciencia de datos

Figura 9: Kernel ocupado

Menú Ayuda

Como cualquier aplicación, existe un menú de ayuda en el que se pueden encontrar enlaces a referencias y manuales.

Uno de los elementos más interesantes de la ayuda es el uso de los «shortcuts»[3]. Aunque hay muchos, dejamos aquí algunos de los más útiles:

CAPÍTULO 8 Ciencia de datos

Publicaciones Similares