用拉格朗日法进行数据插补
来源:互联网 发布:淘宝第三层级难进吗 编辑:程序博客网 时间:2024/05/21 02:48
用拉格朗日法进行数据插补
代码如下
# coding=utf-8import pandas as pdfrom scipy.interpolate import lagrangeinputfile = 'data/catering_sale.xls'outputfile = 'data/sales.xls'data = pd.read_excel(inputfile)# 过滤异常值,将值变为Nonedata[u'销量'][(data[u'销量'] < 400 )| (data[u'销量'] > 5000)] = None# 自定义列向量插值函数# s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5def 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)): print data[i][j] if (data[i].isnull())[j]: data[i][j] = ployinterp_column(data[i], j)data.to_excel(outputfile)
插入之前的数据
插入之后的数据
感觉有bug 直接将3.1号的数据变为-291.4了,可能是第一条数据没有前五条数据造成的。
阅读全文
0 0
- 用拉格朗日法进行数据插补
- Python用拉格朗日法进行数据横向插值
- 用R语言的MICE包对缺失数据进行多重插补(一)-- 缺失数据分析
- 插补、直线插补、联动与插补
- 几种常见的缺失数据插补方法
- 圆弧插补
- 插补搜索法
- 关于插补算法
- 直线插补算法
- 插补搜寻法
- 9.5 插补查找
- 螺旋线插补
- 直线插补算法
- 插补运动
- 直线插补算法
- 插补原理
- 中点圆算法对图像进行插补——matlab
- Python对数据进行插值和下采样
- ZMQ模式详解——发布/订阅模式
- Android判断设备是否打开WIFI、GPRS数据连接
- Attribute is missing the Android namespace prefix
- IntelliJ IDEA的使用配置
- swift_033(Swift 必备和常用第三方库以及pod使用)
- 用拉格朗日法进行数据插补
- aslist 和 toArray 的探究
- linux查找系统中占用磁盘空间最大的文件
- #EC的一些命令
- 清除浮动的几种方法
- 微信公众号支付开发步骤
- day6
- mac 安装Genymotion
- RecycleView