In [2]:
import numpy as np
import pandas as pd
In [22]:
"""
Costruiamo un dataframe sul quale lavorare
"""
df=pd.DataFrame({
    "A":pd.Series([2.,np.nan,-40,29]),
    "B":pd.Categorical([np.nan,"cane","gatto",""]),
    "C":np.array([59]*4,dtype="int32"),
    "D":np.random.randint(12,size=4),
    "E":pd.date_range("20190406",periods=4)
})
In [23]:
df
Out[23]:
A B C D E
0 2.0 NaN 59 9 2019-04-06
1 NaN cane 59 4 2019-04-07
2 -40.0 gatto 59 5 2019-04-08
3 29.0 59 7 2019-04-09
In [24]:
"""
È possibile cancellare la riga in corrispondenza 
di NaN nella colonna "B".
Con l'opzione inplace=True la modifica è
permanente
df.dropna(subset=["B"],axis=0,inplace=True)
"""
df.dropna(subset=["B"],axis=0)
Out[24]:
A B C D E
1 NaN cane 59 4 2019-04-07
2 -40.0 gatto 59 5 2019-04-08
3 29.0 59 7 2019-04-09
In [25]:
"""
Calcolare la media di una colonna
"""
mean=df["D"].mean()
mean
Out[25]:
6.25
In [27]:
"""
Rimpiazzare il valore NaN col valore medio
"""
df["A"].replace(np.nan,mean)
Out[27]:
0     2.00
1     6.25
2   -40.00
3    29.00
Name: A, dtype: float64
In [ ]:
 
In [ ]: