数据清洗--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抓取京东图书评论数据
Aug 31 Python
Python实现二分法算法实例
Feb 02 Python
说一说Python logging
Apr 15 Python
浅谈python 里面的单下划线与双下划线的区别
Dec 01 Python
Pycharm更换python解释器的方法
Oct 29 Python
python判断完全平方数的方法
Nov 13 Python
python过滤中英文标点符号的实例代码
Jul 15 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
对Tensorflow中tensorboard日志的生成与显示详解
Feb 04 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
如何基于python实现不邻接植花
May 01 Python
Python3+selenium配置常见报错解决方案
Aug 28 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
笑谈配置,使用Smarty技术
2007/01/04 PHP
让php处理图片变得简单 基于gb库的图片处理类附实例代码下载
2011/05/17 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
设为首页和收藏的Javascript代码(亲测兼容IE,Firefox,chrome等浏览器)
2013/11/18 Javascript
Javascript的setTimeout()使用闭包特性时需要注意的问题
2014/09/23 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
JS中this上下文对象使用方式
2016/10/09 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
webpack 1.x升级过程中的踩坑总结大全
2017/08/09 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
weebox弹出窗口不居中显示的解决方法
2017/11/27 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
解决vue打包css文件中背景图片的路径问题
2018/09/03 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python查找第k小元素代码分享
2013/12/18 Python
Python 安装setuptools和pip工具操作方法(必看)
2017/05/22 Python
Django基于ORM操作数据库的方法详解
2018/03/27 Python
django foreignkey(外键)的实现
2019/07/29 Python
Python实现把类当做字典来访问
2019/12/16 Python
python开发入门——set的使用
2020/09/03 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
Kate Spade美国官网:纽约新兴时尚品牌,以包包闻名于世
2017/11/09 全球购物
土地转让协议书
2014/09/27 职场文书
护士自荐信范文(2016推荐篇)
2016/01/28 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
使用feign服务调用添加Header参数
2021/06/23 Java/Android
redis缓存存储Session原理机制
2021/11/20 Redis
阿里云k8s服务升级时502错误 springboot项目应用
2022/04/09 Servers
python中filter,map,reduce的作用
2022/06/10 Python