数据清洗--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 相关文章推荐
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
python判断windows系统是32位还是64位的方法
May 11 Python
python制作websocket服务器实例分享
Nov 20 Python
python paramiko模块学习分享
Aug 23 Python
机器学习python实战之决策树
Nov 01 Python
完美解决python3.7 pip升级 拒绝访问问题
Jul 12 Python
Python List列表对象内置方法实例详解
Oct 22 Python
浅析python 定时拆分备份 nginx 日志的方法
Apr 27 Python
Django权限设置及验证方式
May 13 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
Jun 17 Python
python中二分查找法的实现方法
Dec 06 Python
python使用glob检索文件的操作
May 20 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
php中的异常和错误浅析
2017/05/03 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
基于thinkphp6.0的success、error实现方法
2019/11/05 PHP
解决使用attachEvent函数时,this指向被绑定的元素的问题的方法
2007/08/13 Javascript
JQuery 学习笔记 选择器之二
2009/07/23 Javascript
Jquery 获取checkbox的checked问题
2011/11/16 Javascript
表格奇偶行设置不同颜色的核心JS代码
2013/12/24 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
js实现字符串和数组之间相互转换操作
2016/01/12 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
详解Vue2.x-directive的学习笔记
2017/07/17 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
vue.js中使用echarts实现数据动态刷新功能
2019/04/16 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
Python 用户登录验证的小例子
2013/03/06 Python
python类和继承用法实例
2015/07/07 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
快速了解Python相对导入
2018/01/12 Python
python 获取list特定元素下标的实例讲解
2018/04/09 Python
python中实现字符串翻转的方法
2018/07/11 Python
Python实现删除排序数组中重复项的两种方法示例
2019/01/31 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
Python定义函数功能与用法实例详解
2019/04/08 Python
Delphi软件工程师试题
2013/01/29 面试题
超市业务员岗位职责
2013/12/05 职场文书
优秀求职自荐信怎样写
2013/12/18 职场文书
低碳环保标语
2014/06/12 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP