python拉格朗日插值法_Python实现的拉格朗日插值法示例
本文实例讲述了Python实现的拉格朗日插值法。分享给大家供大家参考,具体如下:
拉格朗日插值简单介绍
拉格朗日插值法是以法国十八世纪数学家约瑟夫·拉格朗日命名的一种多项式插值方法。
许多实际问题中都用函数来表示某种内在联系或规律,而不少函数都只能通过实验和观测来了解。在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个简单函数,其恰好在各个现测的点取到观测到的值,这个函数可以是代数多项式,三角多项式等。
完整Python示例:
# -*- coding:utf-8 -*-
#拉格朗日插值代码
import pandas as pd #导入数据分析库Pandas
from scipy.interpolate import lagrange #导入拉格朗日插值函数
inputfile = 'catering_sale.xls' #销量数据路径
data = pd.read_excel(inputfile) #读入数据
data[u'销量'][(data[u'销量'] < 400) | (data[u'销量'] > 5000)] = None #过滤异常值,将其变为空值
#自定义列向量插值函数
#s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5
def ployinterp_column(s, n, k=5):
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[i][j] = ployinterp_column(data[i], j)
print(data)
运行结果:
日期 销量
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
194 2014-08-08 2900.600000
195 2014-08-07 2759.100000
196 2014-08-06 2915.800000
197 2014-08-05 2618.100000
198 2014-08-04 2993.000000
199 2014-08-03 3436.400000
200 2014-08-02 2261.700000
[201 rows x 2 columns]
附:catering_sale.xls点击此处本站下载。
希望本文所述对大家Python程序设计有所帮助。
python拉格朗日插值法_Python实现的拉格朗日插值法示例相关推荐
- python pymysql实例_python笔记-mysql命令使用示例(使用pymysql执行)
一.mysql命令使用 学习完mysql现在来进行一些测试 1.1.进入mysql 终端输入一下命令,进入数据库 mysql -uusername -p 1.2 进入数据库 在mysql终端输入如下命 ...
- python schedule多线程_Python定时任务sched模块用法示例
本文实例讲述了Python定时任务sched模块用法.分享给大家供大家参考,具体如下: 通过sched模块可以实现通过自定义时间,自定义函数,自定义优先级来执行函数. 范例一 import time ...
- python热力图背景_python 绘制场景热力图的示例
我们在做诸如人群密集度等可视化的时候,可能会考虑使用热力图,在Python中能很方便地绘制热力图. 下面以识别图片中的行人,并绘制热力图为例进行讲解. 步骤1:首先识别图像中的人,得到bounding ...
- python读取python源代码文件_python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
- python多线程扫描_Python多线程扫描端口代码示例
本文代码实现Python多线程扫描端口,具体实现代码如下. #coding:utf-8 import socket import thread import time socket.setdefaul ...
- python创建矩阵_Python创建对称矩阵的方法示例【基于numpy模块】
本文实例讲述了Python创建对称矩阵的方法.分享给大家供大家参考,具体如下: 对称(实对称)矩阵也即: step 1:创建一个方阵 >>> import numpy as np & ...
- python html模板_Python html.format_html方法代码示例
本文整理汇总了Python中django.utils.html.format_html方法的典型用法代码示例.如果您正苦于以下问题:Python html.format_html方法的具体用法?Pyt ...
- python unittest断言_python unittest之断言及示例
assert.png 前言 python unintest单元测试框架提供了一整套内置的断言方法. 如果断言失败,则抛出一个AssertionError,并标识该测试为失败状态 如果异常,则当做错误来 ...
- python串口通信_python 读取串口数据的示例
python3 读取串口数据 demo 最近在写一个demo,zigbee串口连接树莓派,树莓派使用串口通信接受zigbee穿过来得值.其中我是用的树莓派是3代B+,zigbee每隔三秒钟从串口输出数 ...
最新文章
- ios开发之UIView和UIViewController
- MyBatis源码-解读Executor的三个实现类之SimpleExecutor(简单执行器)
- vue下拉框值改变_vue select下拉框绑定值不跟着变问题
- 如何使用Angular Generator创建新的Component
- IntelliJ IDEA 项目开发中各个目录的关系
- c#设计一个方法,与使用
- springmvc注解@RequestMapping
- 教你如何做出自己想要的PHP Docker镜像
- 2017.8.14 分手是祝愿 失败总结
- MapReduce 原理及执行过程
- JSP 实现登录注册功能
- Java对象和Map相互转换方法
- 梯度,雅克比矩阵和海森矩阵
- c语言vc怎么改变背景板颜色,VC设置视图背景颜色方法
- 高通平台修改msm8916_defconfig
- 云虚拟主机bch 和 云服务器bcc,虚拟主机bch和云服务器bcc
- R(A+B)<=R(A)+R(B): R(AB)<=min(R(A)+R(B)): A为m×n矩阵,r(A)=n,则AX=0只有零解。设矩阵A为m×n的秩R(A)=m;Ax=b 有解;
- 腾讯云Linux云服务器搭建网站
- 考研英语四附双语阅读:上海VS旧金山:谁的移动支付更出色?
- 华为5c_华为5c参数详细参数解析 这款手机好不好【图文】
热门文章
- Win10蓝屏CRITICAL_STRUCTURE_CORRUPTION解决方案(360急救箱)
- 伯恩PAC人格结构理论(转载)
- 我的周刊(第082期)
- 微信小程序开发--日历/日视图
- DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution论文学习
- 几何光学学习笔记(14)- 4.3 反射棱镜
- Rust 语言服务器 (RLS)
- 360路由上线:周红衣和他的小盒子们
- 六十星系之49武曲天府坐子午
- 【C++】C++11 右值引用和移动语义