SoftPython

Guida introduttiva e gratuita alla pulizia e analisi dati con Python 3.

Ricca di esercizi svolti e adatta sia a principianti che studenti con conoscenze tecnico/scientifiche.

DOWNLOAD:    PDF    EPUB    HTML    Github



Al giorno d’oggi sempre più decisioni vengono prese in base a dati fattuali e oggettivi. Tutte le discipline, dall’ingegneria alle scienze sociali, necessitano oramai capacità di elaborare dati ed estrarre informazioni utili dall’analisi di fonti eterogenee. Questo sito di esercizi pratici fornisce quindi un’introduzione al processamento dati usando Python, un linguaggio di programmazione popolare sia nell’industria che nell’ambito della ricerca.

News

19 agosto 2021: aggiunto esercizi a liste 1 e 2

6 agosto 2021: aggiunto challenge pandas

5 agosto 2021: migliorato e aggiunto soluzioni efficienti a matrici numpy

24 maggio 2021: migliorato pandas

8 maggio 2021: migliorato matrici numpy e aggiunto challenge

2 maggio 2021: aggiunto challenge a visualizzazione

Vecchie news: link

A chi è rivolto

Il materiale in questo sito è rivolto sia a principianti assoluti che a studenti con background più tecnico che desiderino acquisire conoscenze pratiche riguardo l’estrazione, la pulizia, l’analisi e visualizzazione di dati (tra i framework Python usati vi saranno Pandas, Numpy e l’editor Jupyter). Per superare eventuali difficoltà e garantire risultati didattici concreti, le guide presentate sono passo-passo.

Requisiti

Qualche conoscenza base di programmazione, in un qualsiasi linguaggio è utile ma non strettamente necessaria. Tutti i materiali proposti sono in lingua italiana.

Contenuti

B - Analisi dati

  1. Formati dei dati

    1. file a linee

    2. file CSV

    3. file JSON

    4. challenge: personaggi storici del Trentino

  2. Visualizzazione dati

    1. introduzione: Plotting di grafici in Matplotlib, esporre dati online con DataWrapper, RawGraphs, UMap

    2. challenge

  3. Ricerca

    • Ricerca in dati testuali usando espressioni regolari

    • es. fermate autobus trentino

  4. Integrazione dati

    • Esempio di integrazione dati: scaricamento di un dataset opendata (agritur del Trentino)

    • pulizia e posizionamento dei punti di interesse su OpenStreetMap usando un servizio di georeferenziazione

  5. Estrazione Dati

    • Estrazione di testo rilevante da una pagina HTML usando BeautifulSoup

    • es. eventi del Trentino

  6. Analitiche con Pandas

    1. introduzione: Analisi di dataset (filtraggio, statistiche) con la libreria Pandas

    2. challenge

  7. Information retrieval

    • Ricerca per rilevanza

    • Ricerca per similarità

C - Applicazioni

  1. Interfacce utente

    • Creazione di interfacce per analisi interattiva di dati con Jupyter Widgets

    • Discussione di alternative (QT, wxWidget)

  2. Integrazione con database

    • Estrazione di dati da un database SQLite con Pandas

    • Esecuzione di semplici ricerche SQL

  3. Web development

    • Cenni sviluppo di un semplice server web

D - Progetti

  1. Realizzare progetti

    • ambienti virtuali

    • installazione librerie

  2. Scrittura testo in Markdown / Jupyter

  3. Idee per progetti

  4. Challenges

Autori

David Leoni (autore principale): Software engineer specializzato in data integration e web semantico, ha realizzato applicazioni in ambito open data e medico in Italia e all’estero. Dal 2019 è presidente dell’associazione CoderDolomiti, con cui insieme a Marco Caresia gestisce il movimento di volontariato CoderDojo Trento dove da anni insegnano programmazione creativa ai ragazzi. Email: david.leoni@unitn.it   Sito: davidleoni.it

Marco Caresia (assistente Edizione Autunno 2017 @DISI Università di Trento): E’ stato docente di informatica presso la Scuola Professionale Einaudi di Bolzano. E’ presidente della delegazione Trentino Alto Adige Südtirol dell’Associazione Italiana Formatori e vicepresidente dell’associazione CoderDolomiti.

Alessio Zamboni (assistente Edizione Marzo 2018 @Sociologia Università di Trento): Data scientist e software engineer con esperienza in NLP, GIS e gestione del knowledge. Ha collaborato in numerosi progetti di ricerca, collezionando esperienze in Europa e in Asia. Sostiene con convinzione che “la programmazione è una forma d’arte”

Luca Bosotti (assistente edizione Summerschool Data Science 2020 e seminari 2021 @Sociologia, Università di Trento): Developer, scientist e professore. Crede che il mondo stia diventando sempre più complicato e interessante. Perciò quello che dobbiamo fare è studiarlo e per farlo ci tocca sfruttare tutte le potenzialità ed il ragionamento possibile. Ha insegnato a giovani di tutte le età, dalle scuole elementari al livello universitario ed è sempre rimasto colpito da quanto siano differenti le persone che si approcciano alla programmazione.

Massimiliano Luca (docente Edizione Estate 2019 @Sociologia Università di Trento): Adora imparare nuove tecnologie ogni giorno. Particolarmente interessato in knowledge representation, data integration, data modeling e computational social science. Crede fermamente che sia vitale introdurre i giovani alla computer science, a tal fine è mentor al Coder Dojo DISI Master.

Contributors: Ringraziamo anche gli studenti Ludovico Maria Valenti e Ioana Doleanu per i miglioramenti alla pagina numpy e Stefano Moro per le numerose segnalazioni.

Licenza

Questo sito è stato realizzato con stanziamenti dei dipartimenti di Ingegneria e Scienze dell’Informazione (DISI), Sociologia e Matematica dell’Università di Trento.

unitn-843724

cc-by-7172829

Tutto il materiale in questo sito è distribuito con licenza CC-BY 4.0 Internazionale https://creativecommons.org/licenses/by/4.0/deed.it

Si può quindi liberamente ridistribuire e modificare il contenuto, basta citare l’Università di Trento / DISI e gli autori

Note tecniche: tutte le pagine del sito sono fogli Jupyter facilmente modificabili - sono stati convertiti in pagine web tramite NBSphinx usando il template Jupman. I sorgenti del testo si trovano su Github all’indirizzo https://github.com/DavidLeoni/softpython-it

Se vi piace il contenuto del libro e volete contribuire esercizi / tutorial, vedere la pagina CONTRIBUTING

Ringraziamenti

Ringraziamo in particolare il professor Alberto Montresor del Dipartimento di Informatica dell’Università di Trento per aver consentito la realizzazione dei corsi dai quali nasce questo materiale, e il progetto Trentino Open Data (dati.trentino.it) per i numerosi dataset forniti.

dati-trentino-9327234823487

Gli altri numerosi enti ed aziende che nel tempo hanno contribuito materiale ed idee sono citati in questa pagina