1. 针对列-单个缺失值
import pandas as pd
import numpy as np
data=pd.DataFrame({'col1':[5,np.nan,2,2],'col2':[3,np.nan,np.nan,5]})
print(data)
s1,s2=data.shift(),data.shift(-1)
data=data.fillna((s1+s2)/2)
print('填充后')
print(data)
输出结果:
2. 针对列-连续多个缺失值
import pandas as pd
data=pd.DataFrame({'col1':[5,None,2,2],'col2':[3,None,None,5]})
print(data)
data=pd.concat([data.ffill(),data.bfill()]).groupby(level=0).mean()
print('填充后')
print(data)
结果输出: