In [6]:
"""
Si importano le due librerie numpy e pandas
"""
import numpy as np
In [7]:
import pandas as pd
In [8]:
"""
Si crea una serie (array) di dati
tra questi c'è un buco, un'assenza di dato
contraddistinto dalla dicitura Nan
"""
serie=pd.Series([1,2,4,10,np.nan,6,7,9,8,1])
In [9]:
"""
La stampa della serie
"""
serie
Out[9]:
0     1.0
1     2.0
2     4.0
3    10.0
4     NaN
5     6.0
6     7.0
7     9.0
8     8.0
9     1.0
dtype: float64
In [10]:
"""
La funzione dropna() permette di
eliminare i dati NaN dalla seria
L'opzione inplace=True rende definitiva
l'eliminazione del non-dato
"""
serie.dropna(inplace=True)
In [11]:
serie
Out[11]:
0     1.0
1     2.0
2     4.0
3    10.0
5     6.0
6     7.0
7     9.0
8     8.0
9     1.0
dtype: float64
In [18]:
"""
La libreria numpy permette di creare
array e matrici di numeri
"""
np.array([3] * 4, dtype='int32')
Out[18]:
array([3, 3, 3, 3])
In [27]:
"""
Un array costitito da 7 numeri casuali <5
"""
np.random.randint(5,size=7)
Out[27]:
array([2, 4, 0, 2, 4, 3, 3])
In [30]:
"""
Una matrice 3x2
"""

np.matrix('2,3,0;4,4,1')
Out[30]:
matrix([[2, 3, 0],
        [4, 4, 1]])
In [32]:
"""
La libreria pandas permette di costruire 
array numerici, sfruttando numpy e anche composte
da stringhe di caratteri

"""

pd.Categorical(["cane","gatto","scoiattolo",np.nan,"","topo"])
Out[32]:
[cane, gatto, scoiattolo, NaN, , topo]
Categories (5, object): [, cane, gatto, scoiattolo, topo]
In [33]:
"""
Un array costituito dalle date che vanno dal
2019-01-01 al 2019-01-05
"""

pd.date_range("20190101",periods=4)
Out[33]:
DatetimeIndex(['2019-01-01', '2019-01-02', '2019-01-03', '2019-01-04'], dtype='datetime64[ns]', freq='D')
In [34]:
"""
Si può creare una dataframe cioé una tabella 
contenente righe e colonne occupate da stringhe
di caratteri o di numeri
"""
df=pd.DataFrame({
    "A":1.,
    "B":"folle",
    "C":np.array([59]*4,dtype="int32"),
    "D":np.random.randint(12,size=4),
    "E":pd.date_range("20190406",periods=4)
})
In [35]:
df
Out[35]:
A B C D E
0 1.0 folle 59 10 2019-04-06
1 1.0 folle 59 8 2019-04-07
2 1.0 folle 59 3 2019-04-08
3 1.0 folle 59 11 2019-04-09
In [ ]: