Python实现的拉格朗日插值法示例

  

本文实例讲述了Python实现的拉格朗日插值法。分享给大家供大家参考,具体如下:

  

<>强拉格朗日插值简单介绍

  

拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。

  

许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个简单函数,其恰好在各个现测的点取到观测到的值,这个函数可以是代数多项式,三角多项式等。

  

<强>完整Python示例:

        # - * -编码:utf - 8 - *   #拉格朗日插值代码   熊猫作为pd #导入导入数据分析库熊猫   从scipy.interpolate进口拉格朗日#导入拉格朗日插值函数   inputfile=' catering_sale。xls”#销量数据路径   data=https://www.yisu.com/zixun/pd.read_excel (inputfile) #读入数据   数据(u '销量”][(数据(u的销量”)& lt;400)|(数据(u '销量”)在5000)]=#没有过滤异常值,将其变为空值   #自定义列向量插值函数   #年代为列向量,n为被插值的位置,k为取前后的数据个数,默认为5   def ployinterp_column (s、n, k=5):   y=s[列表(范围(n - k (n)) +列表(范围(n + 1, n + 1 + k))) #取数   y=y [y.notnull()] #剔除空值   返回拉格朗日(y。指数列表(y)) (n) #插值并返回插值结果   #逐个元素判断是否需要插值   因为我在data.columns:   j的范围(len(数据)):   如果数据[我].isnull () [j]: #如果为空即插值。   数据[我][j]=ployinterp_column(数据(我),j)   打印(数据)      之前      

运行结果:

  
  

,,,,,,,,,,,日期,,,,,,,,,,销量
  0,,2015 - 03 - 01,-291.400000
  1,,2015 - 02 - 28,2618.200000
  2,,2015 - 02年- 27,2608.400000
  3,,2015 - 02年- 26,2651.900000
  4,,2015 - 02 - 25,3442.100000
  5,,2015 - 02 - 24,3393.100000
  6,,2015 - 02年- 23,3136.600000
  7,,2015 - 02 - 22,3744.100000
  8,,2015 - 02年- 21,4275.254762
  9,,2015 - 02年- 20,4060.300000
  10,2015 - 02年- 19,3614.700000
  11,2015 - 02年- 18,3295.500000
  12,2015 - 02 - 16,2332.100000
  13,2015 - 02年- 15,2699.300000
  14,2015 - 02 - 14,4156.860423
  15,2015 - 02 - 13,3036.800000
  16,2015 - 02 - 12,,865.000000
  17日,2015 - 02 - 11,3014.300000
  18,2015 - 02 - 10,2742.800000
  19日,2015 - 02 - 09年,2173.500000
  20,2015 - 02年- 08 -,3161.800000
  21日,2015 - 02 - 07年,3023.800000
  22日,2015 - 02 - 06年,2998.100000
  23日,2015 - 02年- 05年,2805.900000
  24日,2015 - 02 - 04 -,2383.400000
  25,2015 - 02 - 03,2620.200000
  26日,2015 - 02 - 02年,2600.000000
  27日,2015 - 02 - 01,2358.600000
  28日,2015 - 01 - 31日,2682.200000
  29日,2015 - 01 - 30,2766.800000
  . .,,,,,,,,,,,,,,,,,,…
  171 2014 - 08 - 31日,3494.700000
  172 2014 - 08 - 30,3691.900000
  173 2014 - 08 - 29,2929.500000
  174 2014 - 08 - 28,2760.600000
  175 2014 - 08 - 27,2593.700000
  176 2014 - 08 - 26,2884.400000
  177 2014 - 08 - 25,2591.300000
  178 2014 - 08 - 24,3022.600000
  179 2014 - 08 - 23,3052.100000
  180 2014 - 08 - 22,2789.200000
  181 2014 - 08 - 21,2909.800000
  182 2014 - 08 - 20,2326.800000
  183 2014 - 08 - 19,2453.100000
  184 2014 - 08 - 18,2351.200000
  185 2014 - 08 - 17,3279.100000
  186 2014 - 08 - 16,3381.900000
  187 2014 - 08 - 15,2988.100000
  188 2014 - 08 - 14,2577.700000
  189 2014 - 08 - 13,2332.300000
  190 2014 - 08 - 12,2518.600000
  191 2014 - 08 - 11,2697.500000
  192 2014 - 08 - 10,3244.700000
  193 2014 - 08 - 09年,3346.700000
  2014 - 08年- 08 - 194,2900.600000
  195 2014 - 08年- 07 -,2759.100000
  196 2014 - 08 - 06 -,2915.800000
  197 2014 - 08 - 05 -,2618.100000
  2014 - 08 - 04 - 198,2993.000000
  199 2014 - 08 - 03,3436.400000
  200 2014 - 08 - 02,

2261.700000   

[201行x 2列]

     

<强>附:点击此处。

  

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》,《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

Python实现的拉格朗日插值法示例