PandasGUI: Interfaccia grafica per analizzare i dati con Pandas

Pandas è la libreria più utilizzata dai data scientists per analizzare i dati. Se però non siete esperti programmatori o semplicemente volete esplorare i vostri dati in modo semplice ed intuitivo potete usare PandasGUI. Questa è una libreria che permette di visualizzare ed interagire con i Dataframes di Pandas con un semplice clic del mouse.

Share

Reading time: 5 minutes

Pandas è la libreria più utilizzata per leggere, scrivere ed analizzare in Python. Grazie alla sua semplicità e la similitudine con altri software di analisi dei dati (ad esempio Matlab), anche gli utenti meno esperti in programmazione trovano questa libreria molto utile. Non è quindi raro vedere progetti di data scientists che utilizzano pandas per alcuni analisi. 

Nonostante  ci sia un eccellente supporto da parte della comunità e un continuo aggiornamento, la visualizzazione dei dati è sempre demandata allo sviluppatore. Pandas fornisce la possibilità di graficare i dati in diversi formati, ma bisogna scrivere il codice apposta e procedere per tentativi.

Negli anni sono stati quindi sviluppate delle librerie che permettessero di integrare le visualizzazioni fornite in pandas con una navigazione a portata di click. In questo modo, anche l’utente alle prime armi può “giocare” con i dati in modo semplice ed intuitivo. Tra queste librerie citiamo Bamboolib e PandasGUI

Bamboolib è molto professionale e facile da usare, ma è disponibile gratuitamente solo per gli studenti, ricercatori e appassionati del settore. Se siete un’azienda e/o avete la necessità di integrare anche plugins, allora dovrete pagare una quota che vi verrà calcolata in base alle vostre esigenze.

In questo articolo analizziamo invece un suo concorrente: PandaGUI. Meno professionale, ma sicuramente efficace per tracciare e ridisegnare i dataframe di pandas. Infatti, l’utente ha la libertà di eseguire operazioni personalizzate. Vediamo di seguito le sue varie caratteristiche e funzionalità che vi potranno tornare utili per analizzare i vostri dati.

Installazione

PandasGUI è un’interfaccia grafica per analizzare i dataframes di Pandas. Il progetto è ancora in fase di sviluppo attivo e quindi soggetto a modifiche. PandasGUI è dotato di molte caratteristiche utili, che copriremo in dettaglio più avanti nell’articolo. Prima di questo, vediamo come possiamo installare la libreria e farla funzionare.

Prima di installare la libreria consigliamo di crearvi il vostro ambiente di sviluppo. Per farlo potete semplicemente usare pipenv. In questo modo installerete solo le librerie necessarie per il vostro progetto in un workspace dedicato e non a livello di sistema operativo. Pertanto dopo aver creato il vostro workspace con pipenv shell, potete procedere con l’installazione di PandasGUI. I comandi sono i seguenti.

# from PyPi
pip install pandasgui

# from Github
pip install git+https://github.com/adamerose/pandasgui.git 

Le varie dipendenze dovrebbero essere installate automaticamente, ma nel caso se incontrate errori nell’importazione della libreria dovrete installare le librerie mancanti.

Con la libreria vengono forniti anche alcuni dataset di esempio con cui è possibile iniziare a famigliarizzare con la l’interfaccia. Ovviamente è possibile leggere un qualsiasi file csv per importare i propri dati. I dataset forniti sono i seguenti:

  • datasets csv
    • pokemon
    • car_crashes
    • iris
    • mpg
    • penguins
    • tips
    • titanic
    • gapminder
    • stockdata
    • trump_tweets
    • mi_manufacturing
  • Dataset calcolati
    • simple
    • multiindex
    • small
    • unhashable

In questo articolo utilizzeremo il dataset dei Pokemon. Per importare i dati sarà sufficiente indicare nell’import iniziale quali datasets vogliamo utilizzare. Per il nostro tutorial i comandi sono i seguenti. 

import pandas as pd
from pandasgui import show
from pandasgui.datasets import pokemon 

A questo punto possiamo lanciare l’interfaccia grafica. 

gui = show(pokemon) 

Diversamente se volete usare un vostro dataset, bisogna creare un dataframe in pandas leggendo da file csv con i seguenti comandi.

dataset = pd.read_csv('dataset.csv')
gui = show(dataset) 

Una volta eseguiti i comandi appena descritti, si apre una finestra separata che visualizza il dataframe caricato.

Analizziamo quindi le varie funzionalità offerte da questo tool.

Funzionalità

Visualizzazione e ordinamento

Nella parte di sinistra della schermata sono riportate le dimensioni del dataset importato. Nel caso del dataset dei Pokemon abbiamo 800 righe e 13 colonne.

È possibile ordinare i dati rapidamente in ordine crescente o decrescente semplicemente cliccando sull’intestazione della colonna.

Filtraggio

Oltre a visualizzare l’intero dataframe, è possibile filtrare i dati mediante delle query expressions che utilizzano il metodo Dataframe.query(). I filtri devono essere scritti come espressione booleana. Ad esempio se vogliamo filtrare i Pokemon in base alla loro tipologia possiamo scrivere.

Type1 == 'Grass' 

Una volta cliccato sul bottone “Add filter”, il dataframe viene aggiornato visualizzando solo i records che soddisfano l’espressione booleana. E’ possibile aggiungere un numero di filtri arbitrari e disabilitarli qualora sia necessario. Lasciando il flag “Autocomplete” impostato, il tool fornisce il suggerimento per il nome del campo su cui impostare il filtro.

Editing dei dati

Un’altra funzionalità di questo strumento è la possibilità di modificare direttamente qualsiasi valore all’interno delle celle. Facendo doppio click sulla cella di interesse si può iniziare ad editare il valore corrispondente. Inoltre è possibile anche copiare e incollare i dati selezionati in un altro ambiente come excel o notepad.

Statistiche

PandasGUI calcola anche alcune statistiche sulla distribuzione dei dati. Per ogni colonna del dataframe fornisce la tipologia di dato presente, il numero di records per cui è definito un valore ed il numero di valori univoci. Se la tipologia di dato lo permette fornisce anche la media, la deviazione standard ed i valori minimi e massimi.

Nel caso siano stati applicati uno o più filtri le statistiche vengono aggiornate di conseguenza.

Graficazione interattiva

La visualizzazione dei dati è una parte essenziale di qualsiasi processo di analisi dei dati. PandasGUI fornisce diverse opzioni per creare rapidamente alcuni grafici interattivi.

Possiamo ad esempio un Word cloud er le tipologie dei Pokemon, o visualizzare uno scatter plot relativo ai valori di attacco e difesa. In base alla tipologia del grafico ci vengono richiesti di impostare su quali campi deve essere fatta la visualizzazione. Semplicemente utilizzando il drag & drop delle colonne nei campi appositi, il tool disegna il grafico richiesto.

Infine è possibile salvare il risultato sia come codice HTML sia come codice per importarlo nel nostro progetto. Di seguito vengono riportati alcuni grafici creati mediante l’interfaccia interattiva.

Reshape del DataFrames con le funzioni pivot e melt

A volte è necessario fare il reshape dei dati per ottenere una visione più aggregata. PandasGUI fornisce due funzioni – pivot e melt – per ottenere lo stesso risultato. Utilizzando anche qui la funzione di drag & drop si possono impostare i parametri per aggregare i dati in modo opportuno.

Importazione veloce dei dati

Un’altra proprietà interessante dello strumento è che si può semplicemente importare un dataframe trascinandolo nella parte sinistra dell’interfaccia. 

Integrazione con Jupyter Notebook

Se avete importato direttamente un dataframe nell’interfaccia PandasGUI, potete accedere allo stesso anche nel familiare notebook di juptyer, con poche righe di codice. Da lì, puoi portare il processo di analisi dei dati nel notebook stesso, se lo desideri.

Conclusioni

Pandas è un ottimo strumento per analizzare i dati in modo semplice ed efficace. Mediante la libreria PandasGUI  è possibile analizzare i dati di nostro interesse in modo semplice, intuitivo e veloce. Non servendo grandi competenze di programmazione, può essere un utile strumento per chi si vuole avvicinare al mondo dell’analisi dei dati. 

Vi lasciamo anche il video tutorial della libreria se siete interessati a vedere in azione le funzionalità mostrare precedentemente.

Letture consigliate

More To Explore

Intelligenza artificiale

Gradio: applicazioni web in python per AI [parte1]

Scrivere applicazioni web per i nostri modelli di machine learning e/o di intelligenza artificiale può richiedere molto tempo e competenze che non sono in nostro possesso. Per snellire e velocizzare questo compito ci viene in aiuto Gradio, una libreria Python pensata per creare applicazioni web con poche righe di codice. Scopriamo le sue funzionalità base con alcuni esempi.

Intelligenza artificiale

AI: le migliori tecniche di prompt per sfruttare i LLM

Le tecniche di prompt sono alla base dell’uso dei LLM. Esistono diversi studi e linee guide per ottenere i migliori risultati da questi modelli. Analizziamo alcuni di essi per estrarre i principi fondamentali che ci permetteranno di ottenere le risposte desiderate in base al nostro compito.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Design with MongoDB

Design with MongoDB!!!

Buy the new book that will help you to use MongoDB correctly for your applications. Available now on Amazon!