拉格朗日插值
import pandas as pd
from scipy.interpolate import lagrange
missingData = pd.read_excel(r'Data\missing_data.xls', header=None)
# 对缺失值挨个进行拉格朗日插值处理,这样可以使连续两个缺失值的情况下, 使用前一个已经插上的值来再插一次值
for i in missingData.columns:
for j in missingData.index:
if missingData[i].isnull()[j]:
x = missingData[i][range(j - 5, j) + range(j + 1, j + 6)]
x = x[x.notnull()]
missingData[i][j] = lagrange(x.index, list(x))(j)
missingData.to_excel(r'Data\missing_data_processed.xls', header=None, index=False)