Il tutorial è stato sviluppato all'interno dell'evento "Laboratorio sulle competenze Open Data all’Opificio Golinelli"
il tutorial si sviluppa utilizando jupyter notebook per python.
Per iniziare si consiglia di installare l'ambiente anaconda ed eseguire così jupyter notebook. Anacoda è disponibile per i sistemi operativi Linux, Windows e Apple.
Il tutorial viene veicolato aprendo il file MIUR OpenData e da lì seguire i comandi presentati passo-passo.
I singoli comandi si trovano nelle celle grigie e sono introdotti dal testo del tutorial.
Lo studente può aprire il proprio jupyter notebook sul proprio computer e copiare e incollare i comandi presentati per testarli e capirli.
Il tutorial guida lo studente a conoscere come interrogare le varie tabelle messe a disposizione dal MIUR attraverso pandas (una libreria python molto potente per l'analisi dati).
L'analisi dei dati aiuta anche a capire come è strutturata la scuola in Italia.
Lo studente sarà così in grado di interrogare i dati, effettuare qualche calcolo e manipolazione e creare grafici
Il tutorial è strutturao in modo che poi, il docente, possa delegare gli studenti a lavorare in gruppo in modo da ripetere quanto acquisito.
Oltre a pandas vengono introdotti, in maniera molto semplice, le librerie geocoder e folium con cui poter geocodificare dati e creare mappe.
ecco un piccolo riassunto di cosa viene veicolato dal tutorial riguardo python pandas (ed altro)
vanno caricati (import) e in alcuni casi installati
questi i moduli usati
import requests
import io
import pandas as panda
import geocode
import folium
(nell'esempio nometabella)
nometabella.head(3)
nometabella.shape
nometabella.shape[0]
nometabella.shape[1]
nometabella.columns
nometabella.columns.size
(es. nomecolonna))
nometabella.nomecolonna.describe()
panda.concat([tabella1, tabella2])
(es. tabella1 e tabella2)
tabella1.columns.equals(tabella2.columns)
tabella1.columns.difference(tabella2.columns)
nometabella.nomecolonna.unique()
nometabella.groupby(nometabella.nomecolonna).size()
nometabella.sort_values("nomecolonna")
nometabella[nometabella.nomeoclonna == 'valore da cercare']
Esempio: trasformare tutti i "SI" in "1"
nometabella.eq('SI').mul(1)
nometabella.pivot_table(index='colonnacomeindice')
nometabella.pivot_table(index='colonnasceltacomeindice').fillna(0)
nometabella.pivot_table(index='colonnasceltacomeindice', columns='colonnescelte', values='colonnaconivalori',
aggfunc='sum', fill_value=0)
e con dimensioni 10x10 in DPI punti per pollice e assegnare un titolo
nometabella.plot.bar(title='titolo',figsize[10,10])
nometabella.plot.barh(title='titolo',figsize[10,10])
nometabella.plot.bar(stacked=True,figsize=(10,10))
colormap è una variabile che può essere in ogni grafico.
l'elenco dei colori si trova qui https://matplotlib.org/examples/color/colormaps_reference.html
nometabella.plot.hbar(stacked=True,figsize=[10,10],colormap='Pastel2')
con komoot
geocoder.komoot("Via Paolo Nanni Costa, 14, Bologna, Italia")
con google
geocoder.google("Opificio Golinelli")
opificio_gollinelli = geocoder.komoot("Opificio Gollinelli")
latitudine = opificio_gollinelli.latlng[0]
longitudine = opificio_gollinelli.latlng[1]
es. latitudine = 44.5082397 longitudine = 11.3066287
mappa = folium.Map(location=[44.5082397, 11.3066287])
folium.Marker([44.5082397, 11.3066287]).add_to(mappa)