Laboratorio di Statistica e Analisi dei Daticesari.di.unimi.it/teaching/SADcampolongo3.pdf ·...

17
Laboratorio di Statistica e Analisi dei Dati Nicol` o Campolongo Universit` a degli Studi di Milano [email protected] November 16, 2018 Nicol`oCampolongo (UniMi) Lezione 3 November 16, 2018 1 / 17

Transcript of Laboratorio di Statistica e Analisi dei Daticesari.di.unimi.it/teaching/SADcampolongo3.pdf ·...

Laboratorio di Statistica e Analisi dei Dati

Nicolo Campolongo

Universita degli Studi di Milano

nicolocampolongounimiit

November 16 2018

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 1 17

Lezione 3

1 Matplotlib

2 Grafici a Barre

3 Istogrammi

4 Cumulativa empirica

5 Boxplot

6 QQplot

7 Diagramma di Pareto

8 Esercizi

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 2 17

Matplotlib

Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione

import matplotlibpyplot as plt

pltplot()

pltshow()

plot e la piu semplice funzione per creare un grafico

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 3 17

Plot

Vediamo un semplice esempio

gtgtgt import matplotlibpyplot as plt

gtgtgt import numpy as np

gtgtgt x=nparange(10)

gtgtgt y=xx

gtgtgt pltplot(xy)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 4 17

Grafico di dispersione

gtgtgt x = nprandomrand(N)

gtgtgt y = nprandomrand(N)

gtgtgt colors = nprandomrand(N)

gtgtgt area = (30 nprandomrand(N))2

gtgtgt pltscatter(x y s=area c=colors alpha=05)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 5 17

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Lezione 3

1 Matplotlib

2 Grafici a Barre

3 Istogrammi

4 Cumulativa empirica

5 Boxplot

6 QQplot

7 Diagramma di Pareto

8 Esercizi

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 2 17

Matplotlib

Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione

import matplotlibpyplot as plt

pltplot()

pltshow()

plot e la piu semplice funzione per creare un grafico

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 3 17

Plot

Vediamo un semplice esempio

gtgtgt import matplotlibpyplot as plt

gtgtgt import numpy as np

gtgtgt x=nparange(10)

gtgtgt y=xx

gtgtgt pltplot(xy)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 4 17

Grafico di dispersione

gtgtgt x = nprandomrand(N)

gtgtgt y = nprandomrand(N)

gtgtgt colors = nprandomrand(N)

gtgtgt area = (30 nprandomrand(N))2

gtgtgt pltscatter(x y s=area c=colors alpha=05)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 5 17

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Matplotlib

Matplotlib e una libreria Python per la generazione di grafici 2DLa collezione di funzioni pyplot permette di generare istogrammi grafici abarre grafici a torta ecc in modo da poter visualizzare i dati a nostradisposizione

import matplotlibpyplot as plt

pltplot()

pltshow()

plot e la piu semplice funzione per creare un grafico

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 3 17

Plot

Vediamo un semplice esempio

gtgtgt import matplotlibpyplot as plt

gtgtgt import numpy as np

gtgtgt x=nparange(10)

gtgtgt y=xx

gtgtgt pltplot(xy)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 4 17

Grafico di dispersione

gtgtgt x = nprandomrand(N)

gtgtgt y = nprandomrand(N)

gtgtgt colors = nprandomrand(N)

gtgtgt area = (30 nprandomrand(N))2

gtgtgt pltscatter(x y s=area c=colors alpha=05)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 5 17

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Plot

Vediamo un semplice esempio

gtgtgt import matplotlibpyplot as plt

gtgtgt import numpy as np

gtgtgt x=nparange(10)

gtgtgt y=xx

gtgtgt pltplot(xy)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 4 17

Grafico di dispersione

gtgtgt x = nprandomrand(N)

gtgtgt y = nprandomrand(N)

gtgtgt colors = nprandomrand(N)

gtgtgt area = (30 nprandomrand(N))2

gtgtgt pltscatter(x y s=area c=colors alpha=05)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 5 17

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Grafico di dispersione

gtgtgt x = nprandomrand(N)

gtgtgt y = nprandomrand(N)

gtgtgt colors = nprandomrand(N)

gtgtgt area = (30 nprandomrand(N))2

gtgtgt pltscatter(x y s=area c=colors alpha=05)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 5 17

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Grafici a barre - 1

La funzione bar ci permette di tracciare grafici a barre

gtgtgt import pandas as pd

gtgtgt a = pdSeries([181 172 198])

gtgtgt aindex = [rsquoAlessiorsquo rsquoCicciorsquo rsquoGiorgiorsquo]

gtgtgt pltbar(aindex aget values())

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 6 17

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Grafici a barre - 2

Possiamo invocare la funzione plotbar() direttamente su una serie

gtgtgt df ospedali = pdread csv(rsquodati-ospedalicsvrsquo sep=rsquorsquo)

gtgtgt freq regione = df ospedali[lsquoRegionersquo]value counts()

gtgtgt freq regioneplotbar()

gtgtgt pltxticks(rotation=25)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 7 17

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Istogrammi

La funzione hist ci permette di tracciare istogrammi

gtgtgt heroes = pdread csv(rsquoheroescsvrsquo sep=rsquorsquo)

gtgtgt height = heroes[rsquoHeightrsquo]

gtgtgt heightplothist()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 8 17

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Grafici con le Series

In generale possiamo tracciare diversi tipi di grafici con le Series

lsquolinersquo line plot (default)

lsquobarrsquo vertical bar plot

lsquobarhrsquo horizontal bar plot

lsquohistrsquo histogram

lsquoboxrsquo boxplot

lsquokdersquo Kernel Density Estimation plot

lsquodensityrsquo same as lsquokdersquo

lsquoarearsquo area plot

lsquopiersquo pie plot

Per saperne di piu consultare questo link

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 9 17

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Distribuzione cumulativa empirica - 1

Per visualizzare la distribuzione cumulativa empirica possiamo utilizzare ilseguente metodo

gtgtgt x = heightsort values()

gtgtgt y = nparange(len(x)) float(len(x))

gtgtgt pltplot(x y)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 10 17

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Distribuzione cumulativa empirica - 2

O in alternativa utilizzare la funzione ECDF del modulo statsmodels

gtgtgt from statsmodelsdistributionsempirical distribution

import ECDF

gtgtgt dist = ECDF(height)

gtgtgt pltplot(distx disty)

gtgtgt pltshow()

Che produce in output il grafico della pagina precedente (provare percredere)

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 11 17

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Boxplot

Rappresenta la distribuzione di un vettore di numeri cerchiando gli outlier

gtgtgt weight = heroes[rsquoWeightrsquo]

gtgtgt weightplotbox()

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 12 17

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

QQplot

Grafico di dispersione dei quantili di due distribuzioni Piu le distribuzionisono simili piu si avvicina alla bisettrice del primo quadrante

gtgtgt import statsmodelsapi as sm

gtgtgt smqqplot 2samples(height weight line=rsquo45rsquo)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 13 17

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Diagramma di Pareto - 1

Inserisce nello stesso grafico un diagramma a barre delle frequenze relativeordinate in maniera decrescente ed un grafico a rdquolinea spezzatardquo dellefrequenze cumulateEsiste un package Python per tracciare Diagrammi di Pareto al seguentelink

gtgtgt from paretochart import pareto

gtgtgt eye color freq = heroes[rsquoEye colorrsquo]value counts()

len(heroes)

gtgtgt common colors = eye color freq[eye color freq gt

02]index

gtgtgt common colors data = heroes[rsquoEye colorrsquo][heroes[rsquoEye

colorrsquo]isin(common colors)]

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 14 17

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Diagramma di Pareto - 2

gtgtgt common colors freq =

common colors datavalue counts()len(common colors data)

gtgtgt

pareto(common colors freqlabels=common colors freqindex)

gtgtgt pltshow()

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 15 17

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Esercizi - 1

Utilizzando il file capellicsv (disponibile sulla pagina del corso)

1 Calcolare coefficiente di correlazione (di Pearson) tra lunghezzacapelli e le altre misure (usando la funzione Pandas corr)

2 Visualizzare i relativi grafici di dispersione Confermano il valorenumerico

3 Visualizzare il boxplot e lrsquoistogramma della colonnaspesaShampoMensile Cosa li accomuna

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 16 17

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi

Esercizi - 2

Utilizzando il file dati-ospedalicsv

1 Visualizzate la distribuzione cumulativa empirica e un barplotdellrsquoattributo Medici SSN

2 Controllare se Medici SSN e Farmacisti SSN seguono la stessadistribuzione (usando qqplot)

3 Visualizzare il diagramma di Pareto della serie contenente i dati cherappresentano i Medici SSN per Regione

Completare lrsquoanalisi esplorativa in finanziamentipdf

Nicolo Campolongo (UniMi) Lezione 3 November 16 2018 17 17

  • Matplotlib
  • Grafici a Barre
  • Istogrammi
  • Cumulativa empirica
  • Boxplot
  • QQplot
  • Diagramma di Pareto
  • Esercizi