Integración de PyGWalker en los Notebooks de Onesait Platform
Para esta release 6.2.0-Xenon de Onesait Platform hemos incorporado PyGWalker a nuestro módulo de Notebooks, una herramienta de análisis y visualización de datos para Jupyter que convierte los DataFrames Pandas en una interfaz de usuario interactiva para la exploración visual.
Veamos en qué consiste esta librería.
¿Qué es PyGWalker?
PyGWalker (pronunciado como «Pig Walker» en inglés) es la abreviatura de «Python binding of Graphic Walker». Integra Jupyter Notebook con Graphic Walker, una alternativa de código abierto a Tableau. Permite a los científicos de datos tanto visualizar como limpiar y anotar los datos con simples operaciones de arrastrar y soltar, e incluso realizar consultas en lenguaje natural.
En el siguiente vídeo se explica su funcionamiento:
Nuestro objetivo ha sido, por tanto, poder usar Pygwalker directamente en Onesait Platform, dentro del motor de Notebooks (Zeppelin) con el que contamos.
Cómo usarlo desde los Notebooks
Crear un nuevo Notebook
Desde Control Panel, con una cuenta con rol de «administrador» o «analista» navegaremos hasta el menú de Procesamiento > Gestión de Notebooks.
Desde el listado de Notebooks, crearemos uno nuevo pulsando el botón de «+»:
Lo primero que tendremos que hacer será indicar el nombre que tendrá el Notebook:
Hecho esto, se podrá proceder a crear el Notebook.
Configurar el Notebook
En primer lugar instalaremos la librería de PyGWalker. Esto lo haremos en el primer párrafo del Notebook mediante pip, invocando previamente el intérprete del shell de Zeppelin:
%sh
pip install pygwalker
Al ejecutar el párrafo, se instalará la librería y dependencias necesarias.
En un segundo párrafo, importaremos las librerías de «pandas» y «pygwalker» mediante el intérprete de Python:
%python
import pandas as pd
import pygwalker as pyg
Con esto ya se tendría montado el entorno y listo para trabajar.
Cargar datos al Notebook
Como datos de ejemplo, se va a utilizar el siguiente archivo CSV que se encuentra en un repositorio de GitHub: https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv
Para incluirlo en el Notebook, se creará un nuevo párrafo con el intérprete de Python en donde se leerá como archivo CSV:
%python
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Hecho esto, el siguiente paso será indicar a PyGWalker que analice y explore los datos de manera interactiva usando gráficos del CSV que se ha introducido. Esto se hará mediante la función pyg.walk():
%python
walker = pyg.walk(iris)
Si se ejecuta este párrafo, se comprobará que sale una ristra enorme de código contenido alfanumérico, pero nada realmente visual.
Para poder visualizarlo correctamente habrá que imprimir el resultado, invocando la función de walker.to_html(), que generará el visor de datos:
%python
print("%html " + walker.to_html())
El resultado será como el siguiente:
Código completo
A continuación mostramos el código completo que hemos utilizado.
%sh
pip install pygwalker
%python
import pandas as pd
import pygwalker as pyg
%python
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
%python
walker = pyg.walk(iris)
%python
print("%html " + walker.to_html())
Imagen de cabecera: Onesait Platform