#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author : Peidong
# @Site :
# @File : larange_interpolation.py
# @Software: PyCharm
"""
拉格朗日插值代码处理缺省值
"""
# 导入相应模块
import pandas as pd
from scipy.interpolate import lagrange
# 导入数据
inputfile = 'E:\python\power_leakage_identification\missing_data.xls'
# 导出处理结果
outputfile = 'E:\python\power_leakage_identification\missing_data_processed.xls'
# 读取数据
data = pd.read_excel(inputfile, header=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)
# 输出结果
data.to_excel(outputfile, header=None, index=False)
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
电力系统漏电用户识别_power_leakage_identification.zip (3个子文件)
power_leakage_identification-master
data_divide.py 741B
missing_data.xls 25KB
larange_interpolation.py 1KB
共 3 条
- 1
资源评论
好家伙VCC
- 粉丝: 2082
- 资源: 9145
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功