#缺失值填充
import numpy as np
import pandas as pd
df = pd.DataFrame([[1,2,np.nan],
[4,None,5],
[6,7,8]], index=list('abc'),columns=list('ABC'))
print('-'*10,'原始df数据','-'*10)
print(df)
print('-'*10,'缺失值填充默认值0','-'*10)
dd = df.fillna(0)
print(dd)
print('-'*10,'缺失值填充前一行元素','-'*10)
dd = df.fillna(method='ffill')
print(dd)
print('-'*10,'缺失值填充后一行元素','-'*10)
dd = df.fillna(method='bfill')
print(dd)
print('-'*10,'缺失值填充前一列元素','-'*10)
dd = df.fillna(method='ffill',axis = 1)
print(dd)
print('-'*10,'缺失值填充后一列元素','-'*10)
dd = df.fillna(method='bfill',axis = 1)
print(dd)
print('-'*10,'按列的平均值进行填充','-'*10)
for i in df.columns:#df.index就是按照行求平均值
fill = np.nanmean(df[i])
dd[i]=df[i].fillna(fill)
print(dd)