Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Objetivo

...

Table of Contents
stylenone
Info

Disponible desde Release 6.2.0

Introducción

En este tercer trimestre nos encontramos trabajando con PyGWalker, 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.El objetivo es poder usar Pygwalker dentro de el motor de Notebooks de Plataforma (Zeppelin)

...

¿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.

A continuación os explicamos cómo utilizarlo.

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.

image-20240917-141417.pngImage Added

Desde el listado de Notebooks, crearemos uno nuevo pulsando el botón de «+»:PyGWalker (pronounced like "Pig Walker", just for fun) is named as an abbreviation of "Python binding of Graphic Walker". It integrates Jupyter Notebook with Graphic Walker, an open-source alternative to Tableau. It allows data scientists to visualize / clean / annotates the data with simple drag-and-drop operations and even natural language queries.

Cómo usarlo desde los Notebooks

https://development.onesaitplatform.com/controlpanel/notebooks/app/#/notebook/2K4VVWY41 image-20240917-141610.pngImage Added

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:

Code Block
languagebash
%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:

Code Block
languagepy
%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:

Code Block
languagepy
%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():

Code Block
languagepy
%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:

Code Block
%python
print("%html " + walker.to_html())

El resultado será como el siguiente:

...

Código completo

Code Block
languagebash
%sh
pip install pygwalker
Code Block
languagepy
%python
import pandas as pd
import pygwalker as pyg
Code Block
languagepy
%python
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv')
Code Block
languagepy
%python
walker = pyg.walk(iris)
Code Block
%python
print("%html " + walker.to_html())