1. Corso Python e Strutture Dati
Pandas DataFrame:
metodi - I
2. Funzione built-in map
La funzione built-in map consente di costruire una list
trasformando tutti gli elementi di un iterable
L1= map ( Trasf() , ITERABLE)
dove: ITERABLE è un qualunque oggetto iterabile;
Trasf(): può essere: una funzione built-in
una funzione anonima
una funzione custom
3. Funzione built-in filter
La funzione built-in filter consente di filtrare una lista selezionan-
do solo i valori che soddisfano la condizione imposta.
L1= filter ( Condiz() , ITERABLE)
dove: Condiz() contiene la condizione che deve essere è soddisfatta per inserire
l’elemento dell’oggetto iterable nella lista. Essa può essere espressa tramite:
una funzione anonima una funzione custom
def A(X):
....: if X%2==0: return True
....: else: return False
L1=filter(A, [10,20,31])
L1=filter(lambda x: x%2==0, [10,20,31])
4. Funzione built-in reduce
La funzione built-in reduce consente di combinare i primi due
elementi di un oggetto iterable e di combinare in modo
ricursivo il risultato all’elemento successivo
reduce ( lambda x,y : x+y, I1)
calcolo la somma degli elementi contenuti nell’iterable I1
5. Series: metodo map
Il metodo map consente di trasformare i valori di una
serie, sulla base di:
una funzione built-in
S=pandas.Series( [10,20,30,40])Data una serie
una funzione anonima
un dizionario
S.map(str)
S.map(lambda x: x+1)
S.map( DZ ) dove DZ={10:’B’,20:’B’...}
una funzione custom S.map( F1 ) dove F1 è una funzione
custom
6. Series: metodi - sum, min, max, mean
Il metodo
la sommatoria degli elementi di S
S=pandas.Series( [10,20,30,40])Data una serie
il minimo della serie
la media della serie
S.sum()
il massimo della serie
S.min()
S.max()
S.mean()
calcola
calcola
calcola
calcola
7. Corso Python e Strutture Dati
maggio 2018
Pandas DataFrame:
metodi - II
8. DataFrame: metodo concat
Dati due DataFrame (D1 e D2), il metodo pandas.concat crea un
terzo DataFrame accodando il secondo al primo:
V1 V2
0 10 ‘a’
1 20 ‘b’
2 30 ‘c’
3 40 ‘d’
V1 V3
0 110 ‘XX’
1 120 ‘XX’
2 130 ‘YY’
3 140 ‘YY’
pandas.concat( [ DF1, DF2 ] )
V1 V2 V3
0 10 ‘a’ NaN
1 20 ‘b’ NaN
2 30 ‘c’ NaN
3 40 ‘d’ NaN
0 110 NaN ‘XX’
1 120 NaN ‘XX’
2 130 NaN ‘YY’
3 140 NaN ‘YY’
9. DataFrame: metodo merge
Dati due DataFrame (D1 e D2), il metodo pandas.merge crea un
terzo DataFrame combinando gli elementi dei due dataframe
V1 V2
0 10 ‘RM’
1 20 ‘RM’
2 30 ‘MI’
3 40 ‘MI’
4 50 ‘TO’
V2 V3
0 ‘RM’ ‘ROMA’
1 ‘MI’ ‘MILANO’
2 ‘TO’ ‘TORINO’
pandas.merge(DF1, DF2, on=’V2’ )
V1 V2 V3
0 10 ‘RM’ ‘ROMA’
1 20 ‘RM’ ‘ROMA’
2 30 ‘MI’ ‘MILANO’
3 40 ‘MI’ ‘MILANO’
4 50 ‘TO’ ‘TORINO’
10. DataFrame: metodo groupby
Dato un DataFrame, il metodo .groupby consente di scomporlo in tanti sottogruppi, di
applicare una trasformata a questi sottogruppi, e di ricomporre un DataFrame finale
impilando i risultati ottenuti
V1 V2
0 10 ‘RM’
1 20 ‘RM’
2 30 ‘MI’
3 40 ‘MI’
4 50 ‘TO’
V1 V2
0 10 ‘RM’
1 20 ‘RM’
V1 V2
2 30 ‘MI’
3 40 ‘MI’
V1 V2
4 50 ‘TO’
V1
30
V1
70
V1
50
V1
V2
‘RM’ 30
‘MI’ 70
‘TO’ 50
DF .groupby( ‘V2’ ) .sum()
11. DataFrame: metodo applymap
Dato un DataFrame, il metodo .applymap esegue il metodo
map per ogni colonna (vista come una Series) del dataframe
V1 V2
PROV
‘RM’ 30 120
‘MI’ 70 210
‘TO’ 50 160
‘PD’ 40 170
‘BO’ 60 160
DF.applymap(F1)
Index
columns
def F1(X):
Y=...X….
return Y
V1 V2
PROV
‘RM’ F1(30) F1(120)
‘MI’ F1(70) F1(210)
‘TO’ F1(50) F1(160)
‘PD’ F1(40) F1(170)
‘BO’ F1(60) F1(160)
Data una
funzione
12. DataFrame: metodo apply
Dato un DataFrame, il metodo .apply esegue una
trasformazione di sottoparti di un dataframe, rappresentate:
dalle colonne
dalle righe
da gruppi
opzione axis=0
opzione axis=1
ottenuto con .groupby
La trasformazione può essere definita tramite: a) una funzione
built-in; b) una funzione anonima; c) una funzione custom