本文实例讲述了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) 打印(数据) >之前运行结果:
,,,,,,,,,,,日期,,,,,,,,,,销量
2261.700000
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,[201行x 2列]
引用><强>附:强>点击此处。
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》,《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
Python实现的拉格朗日插值法示例