Objetivo
...
Table of Contents | ||
---|---|---|
|
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.
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
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 | ||
---|---|---|
| ||
%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 | ||
---|---|---|
| ||
%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 | ||
---|---|---|
| ||
%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 | ||
---|---|---|
| ||
%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 | ||
---|---|---|
| ||
%sh
pip install pygwalker |
Code Block | ||
---|---|---|
| ||
%python
import pandas as pd
import pygwalker as pyg |
Code Block | ||
---|---|---|
| ||
%python
iris = pd.read_csv('https://raw.githubusercontent.com/mwaskom/seaborn-data/master/iris.csv') |
Code Block | ||
---|---|---|
| ||
%python
walker = pyg.walk(iris) |
Code Block |
---|
%python
print("%html " + walker.to_html()) |