数据清洗--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命令行参数sys.argv使用示例
Jan 28 Python
Python模块搜索路径代码详解
Jan 29 Python
Python之批量创建文件的实例讲解
May 10 Python
tensorflow使用神经网络实现mnist分类
Sep 08 Python
python3使用matplotlib绘制条形图
Mar 25 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
django实现将后台model对象转换成json对象并传递给前端jquery
Mar 16 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python 元组和列表的区别
Dec 30 Python
anaconda升级sklearn版本的实现方法
Feb 22 Python
python实现Thrift服务端的方法
Apr 20 Python
python 下划线的多种应用场景总结
May 12 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
点评山进PR-D3L三波段收音机
2021/03/02 无线电
ezSQL PHP数据库操作类库
2010/05/16 PHP
通过PHP修改Linux或Unix口令的方法分享
2012/01/30 PHP
PHP获取文件后缀名的三个函数
2012/10/15 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
修复ShopNC使用QQ 互联时提示100010 错误
2015/11/08 PHP
Laravel事件监听器用法实例分析
2019/03/12 PHP
Google排名中的10个最著名的 JavaScript库
2010/04/27 Javascript
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
深入浅析JavaScript中prototype和proto的关系
2015/11/15 Javascript
解析Node.js基于模块和包的代码部署方式
2016/02/16 Javascript
javascript每日必学之条件分支
2016/02/17 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
[01:59]深扒TI7聊天轮盘语音出处 1
2017/05/11 DOTA
书单|人生苦短,你还不用python!
2017/12/29 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
2019/08/09 Python
简单了解Django项目应用创建过程
2020/07/06 Python
Python改变对象的字符串显示的方法
2020/08/01 Python
python实现三种随机请求头方式
2021/01/05 Python
全球领先的各类汽车配件零售商:Advance Auto Parts
2016/08/26 全球购物
硅酸盐工业控制专业应届生求职信
2013/11/02 职场文书
校园活动策划书范文
2014/01/10 职场文书
优秀毕业生事迹材料
2014/02/12 职场文书
高中班主任评语大全
2014/04/25 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
暑假生活随笔
2015/08/15 职场文书
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android
mysql自增长id用完了该怎么办
2022/02/12 MySQL