Un po' di Data Science con Positron

Positron è un ambiente di sviluppo gratuito per Python e R, realizzato da Posit. Questo tutorial mostra i passaggi per arrivare, partendo da un’installazione vuota, a un grafico costruito su un dataset reale, con una funzione Python scritta a mano nel mezzo.

Installazione

Positron si scarica gratuitamente dal sito ufficiale positron.posit.co, alla pagina Download. L’installazione segue le istruzioni standard del sistema operativo in uso.

Il progetto Python

All’apertura di Positron, dal menu si seleziona New, poi New Folder from Template, e infine Python Project dall’elenco dei modelli disponibili.

Si sceglie una posizione e un nome per la cartella, e si conferma la creazione di un file pyproject.toml, che tiene traccia dei pacchetti installati.

Nella schermata successiva si crea un nuovo ambiente virtuale, un ambiente Python isolato dedicato a questo progetto. Positron propone tre strumenti per costruirlo, uv, pip e conda, e la scelta dipende dalla situazione di partenza. Se sul computer non è già installato Python, conviene scegliere uv, perché scarica automaticamente una versione di Python durante la creazione dell’ambiente. Se Python è già installato, va bene anche l’opzione pip, che Positron costruisce usando venv, il modulo per creare ambienti virtuali incluso nella libreria standard di Python fin dalla versione 3.3, senza bisogno di installare nulla di aggiuntivo. Si sceglie infine la versione di Python da usare, per cui va bene l’ultima versione stabile disponibile.

A questo punto Positron crea la cartella e l’ambiente virtuale.

I pacchetti

Questo tutorial richiede due pacchetti aggiuntivi, pandas per organizzare i dati in tabelle e plotnine per i grafici. Plotnine include anche alcuni dataset di esempio già pronti, tra cui quello usato in questo tutorial. Si apre il terminale integrato di Positron, già posizionato nella cartella del progetto con l’ambiente virtuale attivo, e si esegue il comando seguente.

pip install pandas plotnine

Il notebook

Dal menu si seleziona New, poi New File, e infine Jupyter Notebook.

Il nuovo notebook si apre nell’editor, pronto per scrivere ed eseguire codice cella per cella.

Il dataset

Nella prima cella si carica un dataset già incluso nel pacchetto plotnine, chiamato mpg, che raccoglie dati sul consumo di carburante di alcuni modelli di automobili.

from plotnine.data import mpg

Eseguendo la cella, il pannello Variables (variabili) mostra una nuova voce mpg, con accanto un’icona a griglia.

L’esplorazione della tabella

Cliccando sull’icona a griglia accanto a mpg si apre il Data Explorer (esploratore dati) di Positron, che permette di ordinare le righe, filtrarle e vedere alcune statistiche riassuntive, senza scrivere codice.

Come esempio, si può filtrare la tabella per mostrare solo le righe in cui la colonna year vale 2008. Una volta impostato il filtro nell’interfaccia, il pulsante Convert to Code (converti in codice) copia negli appunti il codice Python equivalente a quel filtro. Incollandolo in una nuova cella, si ottiene una riga come questa.

mpg_2008 = mpg[mpg['year'] == 2008]

La funzione

Il filtro appena ottenuto funziona solo per l’anno 2008, perché il numero è scritto direttamente nel codice. Racchiudendolo in una funzione, lo stesso filtro diventa riutilizzabile per qualunque anno presente nella tabella.

def filtra_per_anno(dati, anno):
    return dati[dati['year'] == anno]

mpg_2008 = filtra_per_anno(mpg, 2008)

Il grafico

Nella cella successiva si costruisce un grafico a dispersione che mette in relazione la cilindrata del motore (displ) e il consumo in autostrada (hwy), colorando i punti per categoria di veicolo.

from plotnine import *

(ggplot(mpg_2008, aes(x='displ', y='hwy'))
 + geom_jitter(aes(color='class'))
 + geom_smooth(method='lm', se=False)
 + labs(title='Cilindrata e consumo in autostrada',
        x='Cilindrata (litri)',
        y='Consumo in autostrada (mpg)'))

Eseguendo la cella, il grafico compare direttamente sotto la cella stessa.

Fonti