书上的代码,然后具体原理公式先占个坑,以后再详细写
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)