NumPy, SciPy, SymPy, pandas, matplotlib

Le librerie più utilizzate nell’ambito della programmazione numerica e scientifica in linguaggio Python sono NumPy, SciPy, SymPy, pandas e matplotlib. Noi le trattiamo tutte assieme in un unico corso, in modo tale da offrire una panoramica generale delle funzionalità offerte da queste librerie e, contemporaneamente, per poter offrire nozioni teoriche e pratiche su come realizzare delle soluzioni concrete. Queste librerie possono essere considerate come una pila di tecnologie correlate, dove ogni singolo strato aggiunge una serie di funzionalità.

NumPy tratta grandi sequenze, matrici e aggregazioni multidimensionali di dati e contiene anche una grossa collezione di funzioni matematiche ad alto livelo che lavorano con queste strutture dati. SciPy si basa su NumPy, usandone le funzionalità, e aggiunge vari moduli con funzioni sofisticate utili per programmazione in campo scientifico e tecnico. In SciPy troviamo funzioni di algebra lineare, interpolazioni, integrazioni, elaborazione dei segnali, delle immagini, ecc. SymPy è una libreria per calcoli simbolici e aggiunge funzionalità di matematica simbolica all’algebra, alla matematica discreta, alla fisica quantistica, ecc. Pandas porta funzionalità avanzate di analisi e modifica dati e matplotlib aggiunge alla “pila” anche lo strato di presentazione grafica dei dati.

L’ estensione degli argomenti implementati grazie a queste librerie ci impone di fare delle scelte (solo la raccolta della documentazione ufficiale di queste librerie conta diverse migliaia di pagine, senza contare poi altra documentazione, ancora più estesa, sviluppata da terze parti). Non sarebbe possibile in un corso (anche della durata di diverse settimane, se non mesi) coprire tutto questo materiale. Di consegurenza, in base alle esigenze del cliente, è necessario fare delle selezioni e trovare dei sottoinsiemi rappresentativi di queste librerie , in modo tale da presentare la materia in modo coerente così che i partecipanti al corso possano ottenere nozioni sufficenti da diventare autonomi nel successivo approfondimento di queste librerie. Nel caso fosse necessario, possiamo estendere il corso con moduli aggiuntivi dove tratteremo gli argomenti richiesti dal cliente.

Una possibile, e suggerita, estensione per questo corso, soprattutto per le aziende che lavorano con grandi quantità di dati di ogni tipo, sono i nostri corsi di apprendimento automatico, di intelligenza artificiale e di statistica con strumenti informatici. Molti programmi sviluppati appositamente per questi settori fanno uso delle librerie sopraindicate. Per chi vuole lavorare in questi settori, la conoscenza di queste librerie è d’ obbligo.