数据清洗

数据清洗主要是删除原始数据集中地无关数据、重复数据、平滑噪声数据,筛选掉与挖掘主题无关的数据,处理缺失值、异常值等。

缺失值处理的方法可分为3类:删除记录、数据插补和不处理。

删除含有缺失值的记录的方法有很大的局限性,它是以减少历史数据来换取数据的完备,会造成资源的大量浪费,将丢弃了大量隐藏在这些记录中的信息。尤其在数据集本来就包含很少记录的情况下,删除少量记录可能会严重影响到分析结果的客观性和正确性。

拉格朗日插值法

拉格朗日插值公式结构紧凑,在理论分析中很方便,但是当插值节点增减时,插值多项式就会随之变化,导致拉格朗日插值必须重新计算,而牛顿插值法可以避免这一点。


Python代码实现

# -*- coding: utf-8 -*-from scipy.interpolate import lagrange
x = [3, 6, 9]
y = [10, 8, 4]
print( lagrange(x, y) )

结果:

解释:

lagrange(x, y)(10)表示进行插值,插值自变量为10,输出插值结果为2.22……

即,lagrange(x, y)中两个参数:把一系列点当成是函数关系 y = f(x),输出结果为根据函数f求出的对应的y值。


Python代码实现

首先从原始数据集中确定因变量和自变量,取出缺失值前后5个数据(前后数据中遇到数据不存在或者为空的,直接将数据舍去,将仅有的数据组成一组),根据取出来的10个数据组成一组,然后采用拉格朗日多项式插值公式:

# -*- coding: utf-8 -*-
"""
拉格朗日插值代码
"""
import pandas as pd #导入数据分析库
from scipy.interpolate import lagrange #导入拉格朗日插值函数
inputfile = './missing_data.xls' #输入数据路径,需要使用Excel格式
outputfile = './missing_data_processed.xls'  #输出数据路径,需要使用Excel格式
#header表示数据中是否存在列名,如果在第0行就写0,并且开始读数据时跳过相应的行数,不存在可以写None
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) #插值并返回插值结果,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) #输出结果

缺值的数据文件:

代码执行后的结果文件(红框圈出插值的数据):

拉格朗日插值法《python数据分析与挖掘实践》相关推荐

  1. python数据分析与挖掘实践大作业_数据挖掘大作业最终报告.PDF

    数据挖掘大作业最终报告 数据挖掘 大作业最终报告 学 院:计算机学院 专 业:计算机应用技术 年 级:2016级 组 号:第六组 成 员:赵 颖 2620160012 王晓媛2620160007 李昱 ...

  2. Python数据分析与挖掘实战期末考复习(抱佛脚啦)

    期末三天赛高考我真的会谢,三天学完数据挖掘--真的很极限了的. 课本是那本绿色的Python数据分析与挖掘实战(第2版),作者张良均- 图片来自老师给的ppt,以下内容是我自己总结的,自己复习用,覆盖 ...

  3. python数据分析与挖掘项目实战记录

    python数据挖掘项目实战记录 取自<Python数据分析与挖掘实战>一书,整理各个项目中用到的数据处理方法: 数据预处理方法 建立模型方法 绘制图形 对于分类问题:用模型分类:混淆矩阵 ...

  4. 从零开始学python数据分析-【01】从零开始学Python—数据分析与挖掘概述

    马云曾说"中国正迎来从IT时代到DT时代的变革",DT就是大数据时代.数据已成为企业的核心资产和宝贵资源,企业愈加重视和善加利用数据分析与挖掘技术. 1.1什么是数据分析与挖掘 数 ...

  5. (八)Python数据分析与挖掘实战(实战篇)——中医证型关联规则挖掘

    这个专栏用来记录我在学习和实践<Python数据分析与挖掘实战>一书时的一些知识点总结和代码实现. 文章目录 背景和目标 数据 原始属性表 脚本 discretization.py apr ...

  6. 董老师又双叒叕送书啦,20本《Python数据分析、挖掘与可视化》

    近期会议.培训通知: 培训通知|第12届高校师资培训班(Python数据采集.分析与可视化) 会议通知|第九届高等学校计算机程序设计课程论坛 会议通知|2019全国青少年STEAM创客教育论坛 === ...

  7. 《Python数据分析与挖掘实战》示例源码免费下载

    <Python数据分析与挖掘实战>​ 在当今大数据驱动的时代,要想从事机器学习.人工智能.数据挖掘等前沿技术,离不开数据跟踪与分析,通过NumPy.Pandas等进行数据科学计算,通过Se ...

  8. python数据分析与挖掘实战 配套资源_[课程学习]Python数据分析与挖掘实战 配套完整数据和源代码 rar文件[25.46MB]-码姐姐下载...

    该资源为<python数据分析与挖掘实战>一书的配套的资源代码,鉴于大多数读者很难找到此资源,特此分... 大小:20.99MB | 2020-05-14 19:07:04 本资源是pyt ...

  9. (七)Python数据分析与挖掘实战(实战篇)——航空公司客户价值分析

    这个专栏用来记录我在学习和实践<Python数据分析与挖掘实战>一书时的一些知识点总结和代码实现. 文章目录 背景和目标 数据 客户基本信息 乘机信息 积分信息 脚本 data_explo ...

最新文章

  1. web自适应尺寸方法
  2. 网站精准定位从这三方面着手
  3. 春节后面试别人的经历总结之一,好岗位分享给还在找工作中的软件开发爱好者们【转】...
  4. PAT甲级1039 Course List for Student :[C++题解]排序、哈希表
  5. mysql触发器删除同步_MySQL 触发器例子(两张表同步增加和删除)
  6. PD003-NET通用后台系统
  7. Oracle 控制文件管理
  8. 面试官系统精讲Java源码及大厂真题 - 15 CopyOnWriteArrayList 源码解析和设计思路
  9. wpf 加载page后启动_App启动之Dyld在做什么
  10. 热水器是长期开着好还是要等到用的时候才开?
  11. 【小记】-007--前端SEO优化
  12. spss进行偏相关分析
  13. Python源码学习(四)
  14. 数据从网卡到应用的过程
  15. Linux系统程序包管理工具-RPM
  16. 计算机行业英语期中考试,《计算机专业英语》期末考试试卷
  17. 第十章——维护索引(8)——在计算列中创建索引提高性能
  18. HTML页面编写中常遇到的bug
  19. 计算机课教学日志,教师教学日志例文
  20. 你误把饥渴当成了爱情

热门文章

  1. 渗透测试面试问题集合(转载自己看,链接在开头)
  2. 可视化行程管理app_可视化流量:时间行程,扭矩和时间图
  3. 苹果首款无线充电宝曝光,我们要怎么去选择
  4. Sass 3 的环境搭建及开发
  5. 成语填空微信小程序,登录接口修复版
  6. springboot源码解析,kafkaredis面试题
  7. AD如何显示贴片数值并打印
  8. 婚礼纪 java面试
  9. 董卿频上热搜的背后:阅读量之广令人惊叹,靠的不仅仅是坚持
  10. 用计算机弹出记事本,win7电脑开机就会弹出Desktop.ini记事本怎么办?