拉格朗日插值法补齐数据python

书上的代码,然后具体原理公式先占个坑,以后再详细写 

def ployinterp_column(s, n, k=8):
    # 取出要插值位置的前后k个数据
    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.loc[j, i] = ployinterp_column(data[i], j)

你可能感兴趣的:(python)