数据清洗--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中method的参数传递过程
Apr 02 Python
python实现连接mongodb的方法
May 08 Python
Python3实现发送QQ邮件功能(附件)
Dec 23 Python
python对html过滤处理的方法
Oct 21 Python
从0开始的Python学习014面向对象编程(推荐)
Apr 02 Python
解决Django生产环境无法加载静态文件问题的解决
Apr 23 Python
Python3如何在Windows和Linux上打包
Feb 25 Python
Django操作session 的方法
Mar 09 Python
pandas数据拼接的实现示例
Apr 16 Python
python实现贪吃蛇双人大战
Apr 18 Python
PyQt5 QDockWidget控件应用详解
Aug 12 Python
Python如何解决secure_filename对中文不支持问题
Jul 16 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
数字转英文
2006/12/06 PHP
php项目打包方法
2008/02/18 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
CI框架的安全性分析
2016/05/18 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
Laravel框架实现超简单的分页效果示例
2019/02/08 PHP
PHP7创建销毁session的实例方法
2020/02/03 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
js捕获鼠标右键菜单中的粘帖事件实现代码
2013/04/01 Javascript
关于jquery的多个选择器的使用示例
2013/10/18 Javascript
纯js分页代码(简洁实用)
2013/11/05 Javascript
input点击后placeholder中的提示消息消失
2016/01/15 Javascript
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
微信小程序实现YDUI的ScrollNav组件
2018/02/02 Javascript
微信小程序列表中item左滑删除功能
2018/11/07 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
JS图片预加载三种实现方法解析
2020/05/08 Javascript
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
Python栈算法的实现与简单应用示例
2017/11/01 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
python实现XML解析的方法解析
2019/11/16 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
Hurley官方网站:扎根于海滩生活方式的全球青年文化品牌
2020/05/18 全球购物
Linux操作面试题
2012/05/16 面试题
大学生职业生涯规划范文
2014/01/08 职场文书
中英文求职信范文
2014/01/27 职场文书
学校师德师风整改措施
2014/10/27 职场文书
暗恋桃花源观后感
2015/06/12 职场文书
详解Python中的for循环
2022/04/30 Python