拉格朗日差值补偿法

from scipy.interpolate import lagrange #导入拉格朗日插值函数  
#自定义列向量插值函数  
#s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5  
def ployinterp_column(s, n, k=5):  
  y = s[list(range(n-k, n)) + list(range(n+1, n+1+k))] #取数  
  y = y[y.notnull()] #剔除空值  
  return lagrange(y.index, list(y))(n) #插值并返回插值结果  
  
#逐个元素判断是否需要插值  
for i in data.columns:  
  for j in range(len(data)):  
    if (data[i].isnull())[j]: #如果为空即插值。  
      data[i][j] = ployinterp_column(data[i], j)
 

你可能感兴趣的:(机器学习)