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

Condividi su facebook
Condividi su linkedin
Condividi su twitter
Condividi su email
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

Google Cloud

BigQuery: ottimizzazione delle performance

Nonostante BigQuery sia uno strumento molto valido per interrogare terabyte, è opportuno adottare delle best practices per migliorare le performance. Scopriamo i trucchi per scrivere query che vengano eseguite velocemente e che facciano risparmiare sui costi di esecuzione. Inoltre, analizziamo come è possibile ottimizzare la memorizzazione delle tabelle mediante il partizionamento e il clustering.

Google Cloud

BigQuery: WINDOWS analitiche

In molti scenari applicativi, le statistiche che bisogna estrarre si riferiscono a raggruppamenti differenti sui dati di partenza. Mediante la definizione di finestre di aggregazione è possibile calcolare delle statistiche all’interno della stessa query. Inoltre, se necessario, è possibile anche fornire livelli differenti di granularità dei dati mediante la tipologia di dati degli ARRAY. Scopriamo queste funzionalità avanzate mediante due alcuni esempi reali.

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!