原标题:数据清洗(一)丨处理缺失数据

其实数据分析中80%的时间都是在数据清理部分,而为什么要进行数据清洗呢?

因为在实际生产环境中,存在大量“脏”数据

✔不完整数据:缺少感兴趣属性,感兴趣属性缺少部分属性值。

✔异常数据:数据中包含错误的信息,存在着部分偏离期望值的孤立点。

✔不一致数据:数据值的不一致性。

接下来课程将为大家介绍数据清洗及数据联结的相关内容。

1.1 Handling Missing Data

在pandas中,missing data呈现的方式有些缺点的,但对大部分用户能起到足够的效果。对于数值型数据,pandas用浮点值Nan(Not a Number)来表示缺失值。我们称之为识别符(sentinel value),这种值能被轻易检测到:

在pandas中,我们使用了R语言中的一些传统,把缺失值表示为NA(not available)。在统计应用里,NA数据别是要么是数据不存在,要么是存在但不能被检测到。做数据清理的时候,对缺失值做分析是很重要的,我们要确定是否是数据收集的问题,或者缺失值是否会带来潜在的偏见。

内建的Python None值也被当做NA:

1.2 Filtering Out Missing Data

过滤缺失值

有一些方法来过滤缺失值。可以使用pandas.isnull和boolean indexing, 配合使用dropna。对于series,只会返回non-null数据和index values:

上面的等同于:

对于DataFrame,会复杂一些。你可能想要删除包含有NA的row和column。dropna默认会删除包含有缺失值的row:

设定how=all只会删除那些全是NA的行:

删除列也一样,设置axis=1:

一种删除DataFrame row的相关应用是是time series data。假设你想要保留有特定数字的观测结果,可以使用thresh参数:

1.3 Filling In Missing Data

填补缺失值

不是删除缺失值,而是用一些数字填补。对于大部分目的,fillna是可以用的。调用fillna的时候设置好一个常用用来替换缺失值:

给fillna传入一个dict,可以给不同列替换不同的值:

fillna返回一个新对象,但你可以使用in-place来直接更改原有的数据:

在使用fillna的时候,这种插入法同样能用于reindexing:

使用fillna可以我们做一些颇有创造力的事情。比如,可以传入一个series的平均值或中位数:

如果觉得本文对您有帮助,给我点个「在看」

关于Python基础的其他文章

在看点这里

责任编辑:

python缺失值处理 fillna能否用scala来处理_数据清洗(一)丨处理缺失数据相关推荐

  1. python数据分析从入门到精通电子工业出版社_荐书丨Python数据分析从入门到精通...

    点击上方"程序人生",选择"置顶公众号" 第一时间关注程序猿(媛)身边的故事 采用Python 3.6版本,兼容Python 3.X等众多版本 一本书搞定IPy ...

  2. python字典和集合对象可以进行索引操作_建议收藏丨纯知识点:Python基础—字典、集合操作大全...

    本文为纯知识点,预计需阅读二十分钟 数据结构基本上就是--它们是可以处理一些 数据 的 结构 .或者说,它们是用来存储一组相关数据的. 在Python中有四种内建的数据结构--列表.元组和字典,集合. ...

  3. Python缺失值的处理

    Python缺失值的处理 一. 缺失值的检测 二. 缺失值的处理 1.删除缺失值 2.填充缺失值 3.插补缺失值 一. 缺失值的检测 pandas中None或NaN代表缺失值,检测缺失值的常用方法包括 ...

  4. python 线性回归回归 缺失值 忽略_机器学习 第3篇:数据预处理(使用插补法处理缺失值)...

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  5. python缺失值填充方法

    缺失值填充 1.找到缺失值 2.计算缺失值的数量 3.处理缺失值 3.1:**df.dropna()**:直接删除行列 3.2:df.fillna()填充缺失值 3.3:KNN填充 4.查看数据集的末 ...

  6. python 缺失值处理(Imputation)

    一.缺失值的处理方法 由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格.nans或者是其他的占位符.但是这样的数据集并不能被scikit - learn算法兼容,因为 ...

  7. python fillna,Pandas之Fillna填充缺失数据的方法

    约定: import pandas as pd import numpy as np from numpy import nan as NaN 填充缺失数据 fillna()是最主要的处理方式了. d ...

  8. 五、python 缺失值处理(Imputation)

    一.缺失值的处理方法 由于各种各样的原因,真实世界中的许多数据集都包含缺失数据,这些数据经常被编码成空格.nans或者是其他的占位符.但是这样的数据集并不能被scikit - learn算法兼容,因为 ...

  9. Python 数据清洗之缺失数据填充fillna()

    数据量大,缺失数据比较少的情况下,可以直接滤除:数据量小,缺失数据比较多时,对数据进行填充就很有必要了. 数据填充函数fillna(),默认参数如下: 案例学习: import numpy as np ...

最新文章

  1. 使用OpenRowSet操作Excel Excel导入数据库
  2. 《一个程序员的奋斗史》正式上架~
  3. linux 查看进程
  4. 介绍6款热门的SpringCloud微服务开源项目,总有适合你的!
  5. opengl绘制刻度坐标系_OpenGL中的坐标系-2D
  6. vfifo控制mig_virtual fifo的使用
  7. mysql建表时创建索引语句_创建表的时候创建索引
  8. Winform程序在VS中打包成安装程序(带卸载)
  9. SHFileOperation删除文件夹
  10. 笔记本电脑硬盘坏了怎么办?笔记本硬盘坏了修复技巧
  11. 马尔可夫链的常返态和非常返态-零常返态
  12. appium 配置 打开应用闪退
  13. 不靠体育赛事,咪咕视频还有多大发展空间?
  14. mysql b树_为什么 MongoDB 索引选择B树,而 Mysql 选择B+树(精干总结)
  15. 跟小博老师一起学JSP ——EL表达式
  16. php语言的应用领域,探讨主要的PHP应用领域
  17. Oracle11g for Windows
  18. ArcGIS中利用DEM数据生成地形图既视感的等高线;利用掩膜进行等高线注记;DEM的可视化表达总结
  19. 最大进程线程数 连接数
  20. 熊掌号 php提交,网站接入熊掌号,网页配置并提交

热门文章

  1. SpykeTorch: Efficient Simulation of Convolutional Spiking Neural Networks With at Most One Spike per
  2. Conversion of Continuous-Valued Deep Networks to Efficient Event-Driven Networks for Image Classific
  3. anaconda成功安装fasttext后,无法导入的情况
  4. 计算机图形学E7——裁剪-交互式Liang-Barskey矩形窗口裁剪直线
  5. Oracle监听启动扫描sqlnet,监听中sqlnet.ora的作用
  6. 两个关于JAVA String的小问题
  7. Python练习:用户登录(三次机会)
  8. 4怎么修边_无胶静电玻璃贴膜该怎么贴?
  9. pictureselector 压缩_Android 多图选择器PictureSelector 使用
  10. java内存与系统内存,Java获得jvm占用的内存和系统的可用内存信息详解