码迷,mamicode.com
首页 > 其他好文 > 详细

拉格朗日插值法

时间:2016-06-07 22:00:35      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:

 1 #拉格朗日插值法
 2 import pandas as pd #导入模块
 3 from scipy.interpolate import lagrange
 4 
 5 inputfile = rM:\pycache\pythonData\pythondata\chapter4\chapter4\demo\data\catering_sale.xls
 6 outputfile =rM:\pycache\pythonData\pythondata\chapter4\chapter4\demo\tmp\sales.xls #输入输出数据
 7 
 8 data = pd.read_excel(inputfile)
 9 data[u销量][(data[u销量]<400) | (data[u销量]>5000)] = None #过滤数值,将其变为空值
10 
11 #定义列向量插值函数
12 #S为列向量,n为被插值的位置,k为取前后的数据个数,默认为5
13 
14 def ployintterp_column(s,n,k=5):
15     y = s[list(range(n-k,n))+list(range(n+1,n+1+k))]
16     y = y[y.notnull()] #剔除空值
17     return lagrange(y.index,list(y))(n) #插值并返回插值结果
18 #逐个元素判断是否需要插值
19 for i in data.columns:
20     for j in range(len(data)):
21         if (data[i].isnull())[j]:
22             data[i][j] = ployintterp_column(data[i],j)
23 
24 data.to_excel(outputfile)

 

拉格朗日插值法

标签:

原文地址:http://www.cnblogs.com/chauncy/p/5568266.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!