【Python数据分析】数据预处理1——数据清洗
在数据挖掘过程中,数据预处理过程是占比很大的一部分工作
数据预处理过程主要有以下几个部分
1、数据清洗——2.数据集成——3.数据变换——4.数据规约
本文介绍数据清洗部分
一、缺失值分析与处理
1.缺失值分析
缺失值的影响:
(1)数据建模将丢失大量有用信息
(2)数据挖掘模型所表现出的不确定性更加显著
(3)包含控制的数据会使建模过程陷入混乱,导致不可靠输出
缺失值的分析:使用简单的统计分析,可以得到含缺失值的属性的个数
2.缺失值处理
处理缺失值的方法可以分为三类:删除记录、数据插补、不处理。
如果简单的删除小部分记录就能达到既定的目标,那么删除缺失值的方法是最有效的
常用的数据插补方法
插补方法 | 方法描述 |
均值/中位数/众数插补 | 根据属性类型,用该属性取值的均值/中位数/众数插补 |
使用固定值 | 将缺失的属性值用一个常量替换 |
最近临插补 | 在记录中找到与缺失样本最接近的样本的属性值进行插补 |
回归方法 | 根据已有数据与其有关的其他变量建立拟合模型来预测确实的属性值 |
插值法 | 利用已知点建立合适的插值函数f(x),未知值由对应点的函数值近似代替 |
常见的插值法包括拉格朗日插值法,牛顿插值法,hermite插值法,分段插值法,样条插值法等。
拉格朗日插值法:python 数据预处理(采用拉格朗日插值法处理缺失值)_momaojia的博客-CSDN博客_python拉格朗日插值法
牛顿插值法:牛顿插值法 [python]_宁悦的博客-CSDN博客_newton插值法
样条插值法:(数值分析)各种插值法的python实现_张渊猛的博客-CSDN博客_python 插值
hermite插值法:(数值分析)各种插值法的python实现_张渊猛的博客-CSDN博客_python 插值
二、异常值分析与处理
1.异常值分析
(1)简单的描述性统计,看最大值和最小值
(2)3σ原则:如果数据服从正态分布,距离平均值3倍标准差的为异常值
(3)箱型图分析
import pandas as pd
catering_sale = './Python数据分析与挖掘实战(第2版)/chapter3/demo/data/catering_sale.xls' # 餐饮数据
data = pd.read_excel(catering_sale, index_col = u'日期') # 读取数据,指定“日期”列为索引列
print(data.describe()) #使用describe()方法即可查看数据的基本情况import matplotlib.pyplot as plt # 导入图像库
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号plt.figure() # 建立图像
p = data.boxplot(return_type='dict') # 画箱线图,直接使用DataFrame的方法
x = p['fliers'][0].get_xdata() # 'flies'即为异常值的标签
y = p['fliers'][0].get_ydata()
y.sort() # 从小到大排序,该方法直接改变原对象
'''
用annotate添加注释
其中有些相近的点,注解会出现重叠,难以看清,需要一些技巧来控制
以下参数都是经过调试的,需要具体问题具体调试。
'''
for i in range(len(x)):if i>0:plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.05 -0.8/(y[i]-y[i-1]),y[i]))else:plt.annotate(y[i], xy = (x[i],y[i]), xytext=(x[i]+0.08,y[i]))plt.show() # 展示箱线图
输出结果:
2.异常值处理
异常值处理方法 | 方法描述 |
删除含有异常值的记录 | 直接删除 |
视为缺失值 | 将异常值视为缺失值,利用缺失值处理方法进行处理 |
平均值修正 | 用前后两个观测值的平均值修正该异常值 |
不处理 | 直接在含有异常值的数据集上进行挖掘建模 |
【Python数据分析】数据预处理1——数据清洗相关推荐
- Python数据分析数据预处理特征值独热编码
[小白从小学Python.C.Java] [Python-计算机等级考试二级] [Python-数据分析] Python数据分析 数据预处理 特征值独热编码 独热编码,是一种将分类变量转换为若干二进制 ...
- Python数据分析-数据预处理
数据预处理 文章目录 数据预处理 1.前言 2.数据探索 2.1缺失值分析 2.2 异常值分析 2.2.1 简单统计量分析 2.2.2 3$\sigma$原则 2.2.3 箱线图分析 2.3 一致性分 ...
- python数据预处理_Python数据分析——数据预处理的方法
前言 1. 关于数据集 数据来源:日月光华老师的<Python数据分析从入门到机器学习>的 lianjia 数据. 数据概况: cjtaoshu:成交套数 mendian:门店 cjzon ...
- python股票数据预处理_Python股票处理之六_数据预处理A
1. 说明 在数据统计和预测的过程中,工程师基本都使用现成的算法,工程师的主要工作是根据具体业务逻辑预处理数据和选择算法. 首先要对数据预处理(数据清洗),包括数据的归一化,去除重复数据,修改错误数据 ...
- Python数据分析-数据可视化(二)
欢迎大家访问个人博客:https://jmxgodlz.xyz 文章目录 前言 Matplotlib 折线图格式调整 标签 线条颜色 线条形状 折点样式 线条透明度 前言 看到有些论文插图十分简洁美观 ...
- python图片保存和图片展示顺序_【IT专家】【 python 】 —— 数据预处理:(1) 读取与显示图片 + 图像通道顺序变换...
本文由我司收集整编,推荐下载,如有疑问,请与我司联系 [ python ] -- 数据预处理: (1) 读取与显示图片 + 图像通道顺 序变换 2018/05/31 29 # ---- 用 OPENC ...
- 数据分析与挖掘-python常用数据预处理函数
数据预处理往往在数据分析和数据挖掘领域占到了很大的比重,甚至在机器学习这些海量数据处理的场合,数据预处理也是最核心的工作.介绍几个预处理阶段常用的库函数. 1.interpolate 插值函数,Sci ...
- python文本数据处理_从 App 描述介绍文字中发掘 Python 文本数据预处理实例
本文为 AI 研习社编译的技术博客,原标题 What App Descriptions Tell Us: Text Data Preprocessing in Python,作者为 Finn Qiao ...
- Python商品数据预处理与K-Means聚类可视化分析
数据提取 在我之前的文章Scrapy自动爬取商品数据爬虫里实现了爬虫爬取商品网站搜索关键词为python的书籍商品,爬取到了60多页网页的1260本python书籍商品的书名,价格,评论数和商品链接, ...
最新文章
- Linux怎么查询全部容器时间,docker容器与Linux主机环境获取时间不一致
- python就业方向及工资-Python的就业的方向和前景
- python 命令行参数-Python3 命令行参数
- CKO将成为企业发展的军师--转自世界名人网
- HX720/HX711 数据采集及处理姿态解析(公式及源码)
- DataX配置及使用
- linux下ffmpeg的使用方法
- 怎么用python画圆柱_python-如何绘制具有非恒定半径的圆柱
- title属性样式 原生dom_HTML DOM title 属性
- Jquery 实现动态添加输入框编号
- python 3 三元表达式(三目表达式)
- MySQL运行内存设置
- 手写一个博客平台 ~ 第六天
- Everything研究之读取NTFS下的USN日志文件(2)
- 简要分析“区块链+物联网”有哪些坎?
- Java程序界面设计
- On the Effectiveness of Visible Watermarks 利用AI技术去除图像水印
- 【纯音的世界】系列---【静音吧】爱.请给我时间.
- 弟中弟级,基于Vivado的IP核封装以及仿真调用,FPGA入门小玩
- 【Java】《Java并发编程之美》笔记
热门文章
- html使用自我知识点总结
- Samba 共享目录启动mysql
- Oracle学习之DATAGUARD(八) Switchover与failover
- 华为机试HJ74:参数解析
- JAVA里点击树与表格结合,javaswing中的表格(jtable)和树(jtree)组件使用实例.doc
- jj为什么会变大变小_胡杏儿怀二胎不解鼻子为何变大?其实,还有三个部位变大的更厉害...
- 计算机应用设计的目的意义,高等教育自学考试计算机及应用专业+本科毕业设计(论文)的目的与要求...
- python批量下载bilibili视频_如何批量下载bilibili的视频?
- 批量画同心不同半径圆lisp_【微课视频】青岛版数学六年级上册5.1圆的认识
- webrtc java api_java – 使用WebSockets实现WebRTC信令