python拉格朗日插值
#拉格朗日插值代码
import pandas as pd #导入数据分析库Pandas
from scipy.interpolate import lagrange #导入拉格朗日插值函数 inputfile = '../data/catering_sale.xls' #销量数据路径
outputfile = '../tmp/sales.xls' #输出数据路径 data = pd.read_excel(inputfile) #读入数据
data[u'销量'][(data[u'销量'] < 400)][(data[u'销量'] > 5000)]= None #过滤异常值,将其变为空值
#print(data)
#自定义列向量插值函数
#s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5
def ployinterp_column(s, n, k=5):
s1=s.copy()
y = s1[list(range(n-k, n))+list(range(n+1, n+1+k))]#取数
y = y[y.notnull()] #剔除空值
return lagrange(y.index, list(y))(n) #插值并返回插值结果 #逐个元素判断是否需要插值 data[i].isnull()返回布尔数组
# 0 False
# 1 False
# 2 False
# 3 False
# 4 False
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[i][j])
data.to_excel(outputfile) #输出结果,写入文件
python拉格朗日插值的更多相关文章
- [Python] 拉格朗日插值
#-*— coding:utf-8 -*- #Program 0.3 Lagrange Interpolation import matplotlib.pyplot as plt import num ...
- 拉格朗日插值Python代码实现
1. 数学原理 对某个多项式函数有已知的k+1个点,假设任意两个不同的都互不相同,那么应用拉格朗日插值公式所得到的拉格朗日插值多项式为: 其中每个lj(x)为拉格朗日基本多项式(或称插值基函数),其表 ...
- Educational Codeforces Round 7 F - The Sum of the k-th Powers 拉格朗日插值
The Sum of the k-th Powers There are well-known formulas: , , . Also mathematicians found similar fo ...
- 常系数齐次线性递推 & 拉格朗日插值
常系数齐次线性递推 具体记在笔记本上了,以后可能补照片,这里稍微写一下,主要贴代码. 概述 形式: \[ h_n = a_1 h_{n-1}+a_2h_{n-2}+...+a_kh_{n-k} \] ...
- 快速排序 and 拉格朗日插值查找
private static void QuictSort(int[] zu, int left, int right) { if (left < right) { ; ; ]; while ( ...
- BZOJ3601 一个人的数论 莫比乌斯反演、高斯消元/拉格朗日插值
传送门 题面图片真是大到离谱-- 题目要求的是 \(\begin{align*}\sum\limits_{i=1}^N i^d[gcd(i,n) == 1] &= \sum\limits_{i ...
- 【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值
题目大意 有一个\(n\)个点\(m\)条边的图,每条边有一种颜色\(c_i\in\{1,2,3\}\),求所有的包括\(i\)条颜色为\(1\)的边,\(j\)条颜色为\(2\)的边,\(k\) ...
- 【BZOJ2655】calc DP 数学 拉格朗日插值
题目大意 一个序列\(a_1,\ldots,a_n\)是合法的,当且仅当: 长度为给定的\(n\). \(a_1,\ldots,a_n\)都是\([1,m]\)中的整数. \(a_1, ...
- 【Luogu4781】【模板】拉格朗日插值
[Luogu4781][模板]拉格朗日插值 题面 洛谷 题解 套个公式就好 #include<cstdio> #define ll long long #define MOD 998244 ...
随机推荐
- Dubbo高级篇4
https://blog.csdn.net/moonpure/article/details/52842115 线程模型 http://dubbo.io/User+Guide-zh.htm 用户指南& ...
- matlab:inv,pinv逆与伪逆
对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆 inv: inv(A)*B实际上可以写成A\BB*inv(A)实 ...
- PAT A1136 A Delayed Palindrome (20 分)——回文,大整数
Consider a positive integer N written in standard notation with k+1 digits ai as ak⋯a1a0 ...
- Python脱产8期 Day01
一 编程语言与目的 1.有特定语法,可以通过编程的方式,让计算机进行识别,从而让计算机根据人的意愿完成人想让其完成的事 2.控制奴役计算机,让其完成你想让它完成的事,从而解放人力. 二 计算机 五大组 ...
- A类——Dima and a Bad XOR
http://codeforces.com/contest/1151/problem/B 题意: 给一个矩阵,只要找到每一列的任意一个异或和大于0,就找到解并返回,输出TAK和位置,没找到就输出NIE ...
- Objective-C 禁用NSMenu中的系统services菜单项
当用NSMenu创建一个右键菜单时,mac系统会默认插入一些服务(services)菜单项,如下图,xlsx文件的右键菜单中,除了自定义的菜单项:“转发”和“收藏”等等,还有“在 Finder中显示简 ...
- HTTPS深入理解
HTTPS = HTTP + TLS
- 利用arduino制作瓦力万年历-1.0
转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 直接先上图: 主要实现: 1.使用了arduino uno R3,因为瓦力内部空间有限,如果 ...
- 树莓派学习笔记(6):让Raspbian支持中文、禁用休眠
引自:http://www.leiphone.com/news/201406/raspberry-pi-hands-on.html 一直令我很奇怪的是,即使你用Debian的安装光碟安装系统,如果你把 ...
- jsp中使用原生js实现异步交互
Ajax的工作原理相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化.并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读 ...