数据清洗--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爬虫之打包生成exe文件
Nov 06 Python
python映射列表实例分析
Jan 26 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
Dec 12 Python
基于Python的文件类型和字符串详解
Dec 21 Python
python中的句柄操作的方法示例
Jun 20 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
Jan 21 Python
8种常用的Python工具
Aug 05 Python
Python Charles抓包配置实现流程图解
Sep 29 Python
Python中用xlwt制作表格实例讲解
Nov 05 Python
python源文件的字符编码知识点详解
Mar 04 Python
pycharm部署django项目到云服务器的详细流程
Jun 29 Python
Pandas搭配lambda组合使用详解
Jan 22 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
PHP4实际应用经验篇(6)
2006/10/09 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
php反射学习之依赖注入示例
2019/06/14 PHP
编辑浪子版表单验证类
2007/05/12 Javascript
Javascript 网页水印(非图片水印)实现代码
2010/03/01 Javascript
JavaScript插入动态样式实现代码
2012/02/22 Javascript
onkeyup,onkeydown和onkeypress的区别介绍
2013/10/21 Javascript
Jquery实现图片预加载与延时加载的方法
2014/12/22 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
Underscore.js常用方法总结
2015/02/28 Javascript
JavaScript调用客户端Java程序的方法
2015/07/27 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
2016/01/26 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
2016/12/07 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
微信小程序 刷新上拉下拉不会断详细介绍
2017/05/11 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
react-router v4如何使用history控制路由跳转详解
2018/01/09 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
python标准日志模块logging的使用方法
2013/11/01 Python
Python subprocess模块学习总结
2014/03/13 Python
python读写二进制文件的方法
2015/05/09 Python
python相似模块用例
2016/03/04 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python 中的函数装饰器和闭包详解
2021/02/06 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
意大利领先的奢侈品在线时装零售商:MCLABELS
2020/10/13 全球购物
Envie de Fraise意大利:法国网上推出的孕妇装品牌
2020/10/18 全球购物
班组长岗位职责
2014/03/03 职场文书
现货白银电话营销话术
2015/05/29 职场文书
使用scrapy实现增量式爬取方式
2022/06/21 Python