Excel senza Excel: python e pandas
dom 26 febbraio 2023 by Massimo Massontempo di lettura stimato: 2 minuti
Per questo articolo del blog prendo spunto da una domanda, piu' che legittima, in merito al corso "Excel senza Excel" , uno dei corsi che ho a catalogo.
La domanda sostanzialmente e': "ma cosa significa Excel senza Excel"?
Il titolo e' volutamente... "ingannevole"... prende spunto da una delle attivita' che si possono fare con Excel, ovvero analisi dei dati, ma utilizza tecnologie completamente differenti. Excel non c'entra nulla!
Ma allora, come si puo' fare analisi dei dati senza il citato spreadsheet?
Beh, in moltissimi modi diversi, uno dei quali, attualmente molto diffuso ed apprezzato (ma non certo l'unico!) e' l'utilizzo di un linguaggio di programmazione, Python.
E, in aiuto di Pyhton, accorrono... i panda!!! :-)
Pandas e' una libreria (raccolta di funzionalita') progettata per gestire e manipolare strutture di dati in modo veloce, flessibile ed espressivo.
In particolare, i tipi di dato che pandas gestisce in modo estremamente efficiente sono i dati "tabellati", ovvero strutturati in righe e colonne.
In pandas, una tabella di dati viene chiamata DataFrame. (la questione e' piu' ampia di cosi', ma visto il carattere introduttivo dell'articolo, facciamocela andare bene...)
Un DataFrame e' composto da colonne e da righe.
In questo senso ricorda la struttura dati delle griglie di Excel.
Pandas supporta l'integrazione di molti formati di file/sorgenti dati, quindi leggere i dati tabellati e' piuttosto facile. Opera in modo nativo con i formati csv, con i files in formato Excel, con connessioni SQL, con dati strutturati json ed altri.
Esistono delle funzioni per leggere da tali fonti, che iniziano con il prefisso read_ ed in modo similare esistono metodi utilizzati per scrivere i dati, che iniziano con il prefisso to_
Una sessione pandas puo' quindi seguire un flusso quale:
- lettura dati da una o piu' sorgenti
- estrazione, elaborazione e manipolazione dei dati
- eventuale scrittura dei dati elaborati
Pandas (che a sua volta si appoggia ad altre librerie quali Numpy e matplotlib) e'anche in grado di produrre grafici, di vario tipo, sulla base dei dati estratti e manipolati.
Ma devo imparare a programmare?
Ni, si e no...
Pyhton e' un linguaggio potente, ma contemporaneamente anche molto ordinato e semplice, abbastanza intuitivo.
Puo' essere utilizzato in vari modi, a diversi livelli, con diversi risultati.
Ovviamente pandas (e tutto l'ecosistema di librerie di trattamento ed analisi dati) possono essere utilizzati all'interno di programmi "veri", ma e' anche possibile utilizzare Python in modo semplice, da interfacce a comandi via web (un esempio su tutti: jupiter), che e' probabilmente il modo piu' diffuso tra i data analyst non programmatori nella sua incarnazione ANACONDA facile da installare (pur se corposa) e pronta da utilizzare con una marea di pacchetti distribuiti.
Certo, bisogna scrivere comandi sulla tastiera, e serve consultare la documentazione per sapere cosa si puo' fare e come farlo, ma d'altro canto si ha a disposizione tutta la potenza e la possibilita' di automazione di un linguaggio di programmazione, diffusissimo e molto ben documentato.
Scopo di queste poche parole era condividere la conoscenza ... dell'esistenza di questi strumenti, e possibilmente far nascere un po' di curiosita' in merito.
Spero di riuscire a tornare su questi argomenti in qualche articolo del blog, magari per approfondire qualche elemento, o... chissa' per quale altro motivo.
Python e' licenziato con una licenza permissiva in stile BSD, compatibile con la GNU GPL. La libreria pandas e' attualmente licenziata con licenza BSD 3.
Si tratta pertanto di software libero, liberamente scaricabile ed utilizzabile. Incidentalmente, e' anche software gratuito, ma a noi interessa che sia "free as in freedom", non "free as in free beer".
Per approfondire:
ATS: A TimeSheet experience, la genesi
La genesi del progetto "ATS", e le funzionalita' didattiche iniziali
read more