数据清洗--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 相关文章推荐
记录Django开发心得
Jul 16 Python
Django中传递参数到URLconf的视图函数中的方法
Jul 18 Python
Python操作Word批量生成文章的方法
Jul 28 Python
使用Python导出Excel图表以及导出为图片的方法
Nov 07 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
使用numpy和PIL进行简单的图像处理方法
Jul 02 Python
用python脚本24小时刷浏览器的访问量方法
Dec 07 Python
python web框架 django wsgi原理解析
Aug 20 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Python 读取 YUV(NV12) 视频文件实例
Dec 09 Python
python isinstance函数用法详解
Feb 13 Python
Python如何执行系统命令
Sep 23 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中防止SQL注入实现代码
2011/02/19 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
ThinkPHP实现将SESSION存入MYSQL的方法
2014/07/22 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
js 去掉空格实例 Trim() LTrim() RTrim()
2014/01/07 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JQuery EasyUI 数字格式化处理示例
2014/05/05 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
JS实现的DIV块来回滚动效果示例
2017/02/07 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Jquery实现无缝向上循环滚动列表的特效
2019/02/13 jQuery
微信小程序template模板与component组件的区别和使用详解
2019/05/22 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
Vue仿微信app页面跳转动画效果
2019/08/21 Javascript
解决vue scoped scss 无效的问题
2020/09/04 Javascript
js实现简单的轮播图效果
2020/12/13 Javascript
[01:06:59]完美世界DOTA2联赛PWL S2 Magma vs FTD 第一场 11.29
2020/12/02 DOTA
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
Python制作数据导入导出工具
2015/07/31 Python
python迭代器与生成器详解
2016/03/10 Python
巧用python和libnmapd,提取Nmap扫描结果
2016/08/23 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Django的信号机制详解
2017/05/05 Python
Python subprocess模块功能与常见用法实例详解
2018/06/28 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
哈萨克斯坦最大的时装、鞋子和配饰在线商店:Lamoda.kz
2019/11/19 全球购物
Brasty罗马尼亚:购买手表、香水、化妆品、珠宝
2020/04/21 全球购物
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
2014年销售经理工作总结
2014/12/01 职场文书
萤火虫之墓观后感
2015/06/05 职场文书