1. 针对列-单个缺失值

  1. import pandas as pd
  2. import numpy as np
  3. data=pd.DataFrame({'col1':[5,np.nan,2,2],'col2':[3,np.nan,np.nan,5]})
  4. print(data)
  5. s1,s2=data.shift(),data.shift(-1)
  6. data=data.fillna((s1+s2)/2)
  7. print('填充后')
  8. print(data)

输出结果:
image.png

2. 针对列-连续多个缺失值

  1. import pandas as pd
  2. data=pd.DataFrame({'col1':[5,None,2,2],'col2':[3,None,None,5]})
  3. print(data)
  4. data=pd.concat([data.ffill(),data.bfill()]).groupby(level=0).mean()
  5. print('填充后')
  6. print(data)

结果输出:
image.png