数据清洗--DataFrame中的空值处理方法


Posted in Python onJuly 03, 2018

数据清洗是一项复杂且繁琐的工作,同时也是整个数据分析过程中最为重要的环节。

在python中空值被显示为NaN。首先,我们要构造一个包含NaN的DataFrame对象。

>>> import numpy as np
>>> import pandas as pd
>>> from pandas import Series,DataFrame
>>> from numpy import nan as NaN
>>> data = DataFrame([[12,'man','13865626962'],[19,'woman',NaN],[17,NaN,NaN],[NaN,NaN,NaN]],columns=['age','sex','phone'])
>>> data
 age sex  phone
0 12.0 man 13865626962
1 19.0 woman   NaN
2 17.0 NaN   NaN
3 NaN NaN   NaN

删除NaN

删除NaN所在的行

删除表中全部为NaN的行

>>> data.dropna(axis=0, how='all')
 age sex  phone
0 12.0 man 13865626962
1 19.0 woman   NaN
2 17.0 NaN   NaN

删除表中任何含有NaN的行

>>> data.dropna(axis=0, how='any')
 age sex  phone
0 12.0 man 13865626962

删除NaN所在的列

删除表中全部为NaN的列

>>> data.dropna(axis=1, how='all')
 age sex  phone
0 12.0 man 13865626962
1 19.0 woman   NaN
2 17.0 NaN   NaN
3 NaN NaN   NaN

删除表中任何含有NaN的列

>>> data.dropna(axis=1, how='any')
Empty DataFrame
Columns: []
Index: [0, 1, 2, 3]

注意:axis 就是”轴,数轴“的意思,对应多维数组里的”维“。此处作者的例子是二维数组,所以,axis的值对应表示:0轴(行),1轴(列)。

填充NaN

如果不想过滤(去除)数据,我们可以选择使用fillna()方法填充NaN,这里,作者使用数值'0'替代NaN,来填充DataFrame。

>>> data.fillna(0)
 age sex  phone
0 12.0 man 13865626962
1 19.0 woman   0
2 17.0  0   0
3 0.0  0   0

我们还可以通过字典来填充,以实现对不同的列填充不同的值。

>>> data.fillna({'sex':233,'phone':666})
 age sex  phone
0 12.0 man 13865626962
1 19.0 woman   666
2 17.0 233   666
3 NaN 233   666

以上这篇数据清洗--DataFrame中的空值处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
flask中使用SQLAlchemy进行辅助开发的代码
Feb 10 Python
Python实现的Kmeans++算法实例
Apr 26 Python
python3.X 抓取火车票信息【修正版】
Jun 19 Python
python中cPickle类使用方法详解
Aug 27 Python
详解python多线程之间的同步(一)
Apr 03 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
用django设置session过期时间的方法解析
Aug 05 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
Python关于反射的实例代码分享
Feb 20 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
如何在mac下配置python虚拟环境
Jul 06 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 Python
根据DataFrame某一列的值来选择具体的某一行方法
Jul 03 #Python
Django框架的使用教程路由请求响应的方法
Jul 03 #Python
pandas 选择某几列的方法
Jul 03 #Python
Python中pandas dataframe删除一行或一列:drop函数详解
Jul 03 #Python
Python对数据进行插值和下采样的方法
Jul 03 #Python
pandas 将list切分后存入DataFrame中的实例
Jul 03 #Python
python之django母板页面的使用
Jul 03 #Python
You might like
PHP EOT定界符的使用详解
2008/09/30 PHP
PHP入门学习笔记之一
2010/10/12 PHP
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
php设置编码格式的方法
2013/03/05 PHP
php CI框架插入一条或多条sql记录示例
2014/07/29 PHP
DOM基础及php读取xml内容操作的方法
2015/01/23 PHP
[原创]PHPCMS遭遇会员投稿审核无效的解决方法
2017/01/11 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
jQuery 操作下拉列表框实现代码
2010/02/22 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
jQuery阻止事件冒泡具体实现
2013/10/11 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
Jquery日期选择datepicker插件用法实例分析
2015/06/08 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
jQuery的实例及必知重要的jQuery选择器详解
2016/05/20 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
JS实现iframe中子父页面跨域通讯的方法分析
2020/03/10 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
python求质数的3种方法
2018/09/28 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
Django通过json格式收集主机信息
2020/05/29 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
台湾最大网路书店:博客来
2018/03/18 全球购物
家得宝官网:The Home Depot(全球最大的家居装饰专业零售商)
2018/12/17 全球购物
前处理班长职位说明书
2014/03/01 职场文书
函授毕业生自我鉴定范文
2014/03/25 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
高三英语教学计划
2015/01/23 职场文书
部队个人年终总结
2015/03/02 职场文书
2015年教学工作总结
2015/04/02 职场文书