数据清洗--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程序抓取新浪在国内的所有IP的教程
May 04 Python
Python排序算法实例代码
Aug 10 Python
Python探索之URL Dispatcher实例详解
Oct 28 Python
python打印9宫格、25宫格等奇数格 满足横竖斜相加和相等
Jul 19 Python
Python Django 命名空间模式的实现
Aug 09 Python
Python实现网页截图(PyQT5)过程解析
Aug 12 Python
python递归下载文件夹下所有文件
Aug 31 Python
Django通用类视图实现忘记密码重置密码功能示例
Dec 17 Python
django实现日志按日期分割
May 21 Python
Python如何转换字符串大小写
Jun 04 Python
基于django2.2连oracle11g解决版本冲突的问题
Jul 02 Python
彻底搞懂python 迭代器和生成器
Sep 07 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代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
简体中文转换繁体中文(实现代码)
2013/12/25 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JS实现鼠标单击与双击事件共存
2014/03/08 Javascript
使用JavaScript 编写简单计算器
2014/11/24 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
jQuery替换节点用法示例(使用replaceWith方法)
2016/09/08 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
angular $watch 一个变量的变化(实例讲解)
2017/08/02 Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
2017/10/20 Javascript
JavaScript实现预览本地上传图片功能完整示例
2019/03/08 Javascript
详解Vue中组件传值的多重实现方式
2019/08/16 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
[05:45]Ti4观战指南(下)
2014/07/07 DOTA
Python打包可执行文件的方法详解
2016/09/19 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
python实现百度语音识别api
2018/04/10 Python
django 发送邮件和缓存的实现代码
2018/07/18 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
PyTorch搭建一维线性回归模型(二)
2019/05/22 Python
20行代码教你用python给证件照换底色的方法示例
2021/02/05 Python
利用HTML5 Canvas API绘制矩形的超级攻略
2016/03/21 HTML / CSS
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
2014厂务公开实施方案
2014/02/17 职场文书
优秀班组长事迹
2014/05/31 职场文书
运输企业安全生产责任书
2014/07/28 职场文书
技术股东合作协议书
2014/12/02 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
Python os和os.path模块详情
2022/04/02 Python
如何利用python实现Simhash算法
2022/06/28 Python