拉格朗日插值法–python实现

原理

直观地理解拉格朗日插值法:如何直观地理解拉格朗日插值法? – 知乎 (zhihu.com)

代码实现

import pandas as pd
from scipy.interpolate import lagrange #导入拉格朗日函数
import numpy as np
import matplotlib.pyplot as plt


mydata = pd.read_excel('数据清洗.xlsx', sheet_name='sales_')

mydata1 = mydata.copy()

for i in range(len(mydata1)):
    if pd.isna(mydata1.loc[i, 'sales']) == True:
        if i < 5:
            y = mydata1['sales'][list(range(0, i)) + list(range(i+1, i+6))]
        elif i > len(mydata1) - 6:
            y = mydata1['sales'][list(range(i-5, i)) + list(range(i+1, len(mydata1)))]
        else:
            y = mydata1['sales'][list(range(i-5, i)) + list(range(i+1, i+6))]
        y = y[y.notnull()]  # 取出空值
        mydata1.loc[i, 'sales'] = lagrange(y.index, list(y))(i)
mydata1

补充阅读:

没有完美的数据插补法,只有最适合的 – 知乎 (zhihu.com)

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2022年5月25日
下一篇 2022年5月25日

相关推荐