用拉格朗日法进行插补

低调努力的骞哥 研究生  2017-11-20 08:33:46
import pandas as pd
from scipy.interpolate import lagrange
import matplotlib.pyplot as plt

inputfile = 'C:/Users/Qhy/Desktop/catering_sale.xls'
outputfile = 'C:/Users/Qhy/Desktop/sales.xls'

data = pd.read_excel(inputfile,index_col='日期')
data = pd.DataFrame(data)
data['销量'][(data['销量']<400)|(data['销量']>5000)] = None



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)


data.to_excel(outputfile)
...全文
53 回复 点赞 打赏 收藏 举报
写回复
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
相关推荐
发帖
脚本语言
加入

3.7w+

社区成员

JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
申请成为版主
帖子事件
创建了帖子
2017-11-20 08:33
社区公告

CSDN 脚本语言社区接受专栏投稿(专栏会在顶部创建专属你的栏目),投稿需满足以下要求:

  • 脚本语言技术相关;
  • 文章持续更新,保持活跃;
  • 内容清晰明了,干货为主;
  • 文章排版有序,有条有理。

本社区开通招聘专栏,发布招聘信息请联系版主,发布者需要保证招聘信息真实有效,CSDN 平台和版主不对招聘内容负责!

联系方式:私聊版主、发送邮件、QQ联系等均可: