SlideShare a Scribd company logo
1 of 26
Download to read offline
Corso Python e R per Data Mining
giugno - luglio 2017
Strutture dati di base
LISTE
COME
ORGANIZ-
ZARE I
DATI
100 324.3 ‘Italia’
533 ‘FRA’ ‘Oggi è
una bella giornata’
54.5 True 57 987
False ‘DEU’
‘config.py’
CONSIDERIAMO UNA SERIE STORICA MENSILE
maggio 2015 125.6
giugno 2015 128.3
luglio 2015 132.9
agosto 2015 133.1
settembre 2015 135.5
ottobre 2015 135.2
novembre 2015 138.6
[
125.6,
128.3,
132.9,
133.1,
135.5,
135.2,
138.6
]
DIZIONARIO
{
’201501’ : 125.6,
‘201506’ : 128.3,
‘201507’ : 132.9,
‘201508’ : 133.1 ,
‘201509’ : 135.5,
‘201510’ : 135.2,
‘201511’ : 138.6
}
LISTA
[
125.6,
128.3,
132.9,
133.1,
135.5,
135.2,
138.6
]
DIZIONARIO
{
’201501’ : 125.6,
‘201506’ : 128.3,
‘201507’ : 132.9,
‘201508’ : 133.1 ,
‘201509’ : 135.5,
‘201510’ : 135.2,
‘201511’ : 138.6
}
LISTA
posizione 0
posizione 1
posizione 2
posizione 3
posizione 4
posizione 5
posizione 6
chiave
chiave
chiave
chiave
chiave
chiave
chiave
Assegnazione
LIS1 = [ 125.6, 128.3,
132.9, 133.1, 135.5,
135.2, 138.6 ]
DIZIONARIO
Assegnazione
DIZ1 = {
’201501’ : 125.6,
‘201506’ : 128.3,
‘201507’ : 132.9,
‘201508’ : 133.1 ,
‘201509’ : 135.5,
‘201510’ : 135.2,
‘201511’ : 138.6
}
LISTA
Slicing di una stringa
Estrazione degli elementi di una lista
LIS1 [ 3 ] estrae il quarto elemento
LIS1 [ 1 : 3 ] estrae dal secondo al terzo elemento
LIS1 [ : 3] estrae tutti gli elementi fino al terzo
Assegnazione di valore ad un elemento
LIS1 [ 3 ] = 500
assegna al quarto elemento della lista il
valore 500
Metodi di un oggetto list (lavorano inplace)
.append
.extend
.insert
Inserimento
.remove
.pop
Cancellazione
.index
.count
Ricerca
.sort
.reverse
Ordinamento
Per estrarre la
posizione di un
valore e per contare i
valori
Per aggiungere in
coda un valore o una
lista; un aggiungere
un valore in una
posizione
Per rimuovere un
valore o una
posizione
Per ordinare la lista e
per ricollocare gli
elementi in ordine
inverso.
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B05-Data-Structures-Liste
Corso Python e R per Data Mining
giugno - luglio 2017
Strutture dati di base
TUPLE
L =[ 125.6, 128.3, …
132.9 ]
Contiene elementi modificabili,
omogenei .
TUPLA
T= (10, 32, 11)
Contiene elementi inamovibili,
non omogenei, che assumono
significato sulla base della loro
posizione
LISTA
Metodi di un oggetto tupla
.index
.count
Ricerca
Per estrarre la
posizione di un
valore e per contare i
valori
Corso Python e R per Data Mining giu-lug 2017
PYTHON BASE
Strutture dati di base:
DIZIONARI
[
125.6,
128.3,
132.9,
133.1,
135.5,
135.2,
138.6
]
DIZIONARIO
{
’201501’ : 125.6,
‘201506’ : 128.3,
‘201507’ : 132.9,
‘201508’ : 133.1 ,
‘201509’ : 135.5,
‘201510’ : 135.2,
‘201511’ : 138.6
}
LISTA
posizione 0
posizione 1
posizione 2
posizione 3
posizione 4
posizione 5
posizione 6
chiave
chiave
chiave
chiave
chiave
chiave
chiave
Estrazione
LIS1 [3]
LIS1 [1:3]
LIS1 [:3]
DIZIONARIO
Estrazione
DIZ1 [‘201508’]
LISTA
Metodi dell’oggetto dict (lavorano inplace)
.keys()
.values()
.items()
Estrae le chiavi del dizionario e produce una lista
Estrae i valori del dizionario e produce una lista
Estrae gli elementi (tuple di chiave e valore) del
dizionario e produce una lista di tuple
.clear()
.pop()
Cancella tutti gli elementi di un dizionario
Cancella un elemento data la sua chiave
.has_key() Verifica se esiste una chiave
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B31-Data-Structures-Builtin
Corso Python e R per Data Mining giu-lug 2017
PYTHON BASE
Slicing
di oggetti iterabili
Sintassi di slicing
Slice Comportamento
OBJ [ : ] Tutti gli elementi
OBJ [ i ] Elemento i-esimo
OBJ [ : i ] Elementi 0-(i-esimo -1)
OBJ [ i : ] Elementi (i-esimo) - ultimo
OBJ [ i : j : m] Elementi (i-esimo) - (j-esimo -1), con passo m
OBJ [ i : j ] Elementi (i-esimo) - (j-esimo -1)
OBJ [ - i ] Elemento (i-esimo) calcolato a ritroso partendo dall'ultimo
OBJ [ - i : ] Ultimi (i-esimi) elementi
OBJ [ - i :: m] Ultimi (i-esimi) elementi, con un passo m
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B36-Slicing-Iterable.ipynb
A cosa servono le tuple
A= { (‘FRA’,’DEU’,’2015’): 765,
(‘FRA’,’ITA’,’2015’): 234,
(‘FRA’,’USA’,’2015’): 122,
(‘DEU’,’FRA’,’2016’): 975,
(‘DEU’,’ITA’,’2016’): 744,
(‘DEU’,’USA’,’2016’): 865 }
A= {'FRA':{'DEU':{'2015': 765},
'ITA':{'2015': 234},
'USA':{'2015': 122} ,
'DEU':{'FRA':{'2016': 975},
'ITA':{'2016': 744},
'USA':{'2016': 865} }
Nel 2015, la Francia ha esportato verso la Germania 875 milioni di euro; verso l’Italia 234 mln di euro;
verso gli Stati Uniti 122 mln di euro;
Nel 2016, la Germania ha esportato verso la Francia 975 milioni di euro; verso l’Italia 744; verso gli
Stati Uniti 865
A['FRA']['ITA']['2015'] A [ ('FRA','ITA','2015') ]
COSTRUZIONE
ESTRAZIONE
Corso Python e R per Data Mining giu-lug 2017
PYTHON BASE
Strutture dati
ARRAY
Oggetto array della classe Array del modulo numpy
import numpy
L1=[10, 23, 45, 43, 23, 43, 45, 32, 32, 22]
AR1=numpy.array(L1)
AR1.mean()
AR1.max()
AR1.min()
AR1.std()
31.8
45
10
11.5
Costruzione di un oggetto Array
Metodi statistici di un oggetto Array
LEZIONE 1..
www.fordatascientist.org
B00-PyBase
B32-Data-Structures-Other
CONTATTI TELEFONO
051 22 35 20
EMAIL
WORKSHOP@VICEM.IT

More Related Content

More from Studiabo

Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataStudiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshapeStudiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindexStudiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframeStudiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandasStudiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStudiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringheStudiabo
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Studiabo
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Studiabo
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshapeStudiabo
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Studiabo
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStudiabo
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindexStudiabo
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandasStudiabo
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframeStudiabo
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStudiabo
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringheStudiabo
 
Strutture dati 00-corso2018
Strutture dati 00-corso2018Strutture dati 00-corso2018
Strutture dati 00-corso2018Studiabo
 
Data mining 00-corso2017
Data mining 00-corso2017Data mining 00-corso2017
Data mining 00-corso2017Studiabo
 

More from Studiabo (20)

Ravenna2019 - lezione Big Data
Ravenna2019 - lezione Big DataRavenna2019 - lezione Big Data
Ravenna2019 - lezione Big Data
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019Strutture dati 00-corso2018-2019
Strutture dati 00-corso2018-2019
 
Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018Pres ulisse acciaio-ottobre2018
Pres ulisse acciaio-ottobre2018
 
Strutture dati 08-reshape
Strutture dati 08-reshapeStrutture dati 08-reshape
Strutture dati 08-reshape
 
Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018Pres ulisse acciaio-aprile2018
Pres ulisse acciaio-aprile2018
 
Strutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltinStrutture dati 02-strutturecontrollo-funzionibuiltin
Strutture dati 02-strutturecontrollo-funzionibuiltin
 
Strutture dati 07-multiindex
Strutture dati 07-multiindexStrutture dati 07-multiindex
Strutture dati 07-multiindex
 
Strutture dati 05-numpypandas
Strutture dati 05-numpypandasStrutture dati 05-numpypandas
Strutture dati 05-numpypandas
 
Strutture dati 06-dataframe
Strutture dati 06-dataframeStrutture dati 06-dataframe
Strutture dati 06-dataframe
 
Strutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggettiStrutture dati 04-funzionicustom-classioggetti
Strutture dati 04-funzionicustom-classioggetti
 
Strutture dati 01-numeristringhe
Strutture dati 01-numeristringheStrutture dati 01-numeristringhe
Strutture dati 01-numeristringhe
 
Strutture dati 00-corso2018
Strutture dati 00-corso2018Strutture dati 00-corso2018
Strutture dati 00-corso2018
 
Data mining 00-corso2017
Data mining 00-corso2017Data mining 00-corso2017
Data mining 00-corso2017
 

Data mining 03-stutturedatibuiltin

  • 1. Corso Python e R per Data Mining giugno - luglio 2017 Strutture dati di base LISTE
  • 2. COME ORGANIZ- ZARE I DATI 100 324.3 ‘Italia’ 533 ‘FRA’ ‘Oggi è una bella giornata’ 54.5 True 57 987 False ‘DEU’ ‘config.py’
  • 3. CONSIDERIAMO UNA SERIE STORICA MENSILE maggio 2015 125.6 giugno 2015 128.3 luglio 2015 132.9 agosto 2015 133.1 settembre 2015 135.5 ottobre 2015 135.2 novembre 2015 138.6
  • 4. [ 125.6, 128.3, 132.9, 133.1, 135.5, 135.2, 138.6 ] DIZIONARIO { ’201501’ : 125.6, ‘201506’ : 128.3, ‘201507’ : 132.9, ‘201508’ : 133.1 , ‘201509’ : 135.5, ‘201510’ : 135.2, ‘201511’ : 138.6 } LISTA
  • 5. [ 125.6, 128.3, 132.9, 133.1, 135.5, 135.2, 138.6 ] DIZIONARIO { ’201501’ : 125.6, ‘201506’ : 128.3, ‘201507’ : 132.9, ‘201508’ : 133.1 , ‘201509’ : 135.5, ‘201510’ : 135.2, ‘201511’ : 138.6 } LISTA posizione 0 posizione 1 posizione 2 posizione 3 posizione 4 posizione 5 posizione 6 chiave chiave chiave chiave chiave chiave chiave
  • 6. Assegnazione LIS1 = [ 125.6, 128.3, 132.9, 133.1, 135.5, 135.2, 138.6 ] DIZIONARIO Assegnazione DIZ1 = { ’201501’ : 125.6, ‘201506’ : 128.3, ‘201507’ : 132.9, ‘201508’ : 133.1 , ‘201509’ : 135.5, ‘201510’ : 135.2, ‘201511’ : 138.6 } LISTA
  • 7. Slicing di una stringa Estrazione degli elementi di una lista LIS1 [ 3 ] estrae il quarto elemento LIS1 [ 1 : 3 ] estrae dal secondo al terzo elemento LIS1 [ : 3] estrae tutti gli elementi fino al terzo
  • 8. Assegnazione di valore ad un elemento LIS1 [ 3 ] = 500 assegna al quarto elemento della lista il valore 500
  • 9. Metodi di un oggetto list (lavorano inplace) .append .extend .insert Inserimento .remove .pop Cancellazione .index .count Ricerca .sort .reverse Ordinamento Per estrarre la posizione di un valore e per contare i valori Per aggiungere in coda un valore o una lista; un aggiungere un valore in una posizione Per rimuovere un valore o una posizione Per ordinare la lista e per ricollocare gli elementi in ordine inverso.
  • 11. Corso Python e R per Data Mining giugno - luglio 2017 Strutture dati di base TUPLE
  • 12. L =[ 125.6, 128.3, … 132.9 ] Contiene elementi modificabili, omogenei . TUPLA T= (10, 32, 11) Contiene elementi inamovibili, non omogenei, che assumono significato sulla base della loro posizione LISTA
  • 13. Metodi di un oggetto tupla .index .count Ricerca Per estrarre la posizione di un valore e per contare i valori
  • 14. Corso Python e R per Data Mining giu-lug 2017 PYTHON BASE Strutture dati di base: DIZIONARI
  • 15. [ 125.6, 128.3, 132.9, 133.1, 135.5, 135.2, 138.6 ] DIZIONARIO { ’201501’ : 125.6, ‘201506’ : 128.3, ‘201507’ : 132.9, ‘201508’ : 133.1 , ‘201509’ : 135.5, ‘201510’ : 135.2, ‘201511’ : 138.6 } LISTA posizione 0 posizione 1 posizione 2 posizione 3 posizione 4 posizione 5 posizione 6 chiave chiave chiave chiave chiave chiave chiave
  • 16. Estrazione LIS1 [3] LIS1 [1:3] LIS1 [:3] DIZIONARIO Estrazione DIZ1 [‘201508’] LISTA
  • 17. Metodi dell’oggetto dict (lavorano inplace) .keys() .values() .items() Estrae le chiavi del dizionario e produce una lista Estrae i valori del dizionario e produce una lista Estrae gli elementi (tuple di chiave e valore) del dizionario e produce una lista di tuple .clear() .pop() Cancella tutti gli elementi di un dizionario Cancella un elemento data la sua chiave .has_key() Verifica se esiste una chiave
  • 19. Corso Python e R per Data Mining giu-lug 2017 PYTHON BASE Slicing di oggetti iterabili
  • 20. Sintassi di slicing Slice Comportamento OBJ [ : ] Tutti gli elementi OBJ [ i ] Elemento i-esimo OBJ [ : i ] Elementi 0-(i-esimo -1) OBJ [ i : ] Elementi (i-esimo) - ultimo OBJ [ i : j : m] Elementi (i-esimo) - (j-esimo -1), con passo m OBJ [ i : j ] Elementi (i-esimo) - (j-esimo -1) OBJ [ - i ] Elemento (i-esimo) calcolato a ritroso partendo dall'ultimo OBJ [ - i : ] Ultimi (i-esimi) elementi OBJ [ - i :: m] Ultimi (i-esimi) elementi, con un passo m
  • 22. A cosa servono le tuple A= { (‘FRA’,’DEU’,’2015’): 765, (‘FRA’,’ITA’,’2015’): 234, (‘FRA’,’USA’,’2015’): 122, (‘DEU’,’FRA’,’2016’): 975, (‘DEU’,’ITA’,’2016’): 744, (‘DEU’,’USA’,’2016’): 865 } A= {'FRA':{'DEU':{'2015': 765}, 'ITA':{'2015': 234}, 'USA':{'2015': 122} , 'DEU':{'FRA':{'2016': 975}, 'ITA':{'2016': 744}, 'USA':{'2016': 865} } Nel 2015, la Francia ha esportato verso la Germania 875 milioni di euro; verso l’Italia 234 mln di euro; verso gli Stati Uniti 122 mln di euro; Nel 2016, la Germania ha esportato verso la Francia 975 milioni di euro; verso l’Italia 744; verso gli Stati Uniti 865 A['FRA']['ITA']['2015'] A [ ('FRA','ITA','2015') ] COSTRUZIONE ESTRAZIONE
  • 23. Corso Python e R per Data Mining giu-lug 2017 PYTHON BASE Strutture dati ARRAY
  • 24. Oggetto array della classe Array del modulo numpy import numpy L1=[10, 23, 45, 43, 23, 43, 45, 32, 32, 22] AR1=numpy.array(L1) AR1.mean() AR1.max() AR1.min() AR1.std() 31.8 45 10 11.5 Costruzione di un oggetto Array Metodi statistici di un oggetto Array
  • 26. CONTATTI TELEFONO 051 22 35 20 EMAIL WORKSHOP@VICEM.IT