数据清洗--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面向对象编程中的类和对象学习教程
Mar 30 Python
Python模拟三级菜单效果
Sep 11 Python
Python3 加密(hashlib和hmac)模块的实现
Nov 23 Python
使用python和Django完成博客数据库的迁移方法
Jan 05 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python3.6实现连接mysql或mariadb的方法分析
May 18 Python
pandas读取CSV文件时查看修改各列的数据类型格式
Jul 07 Python
Python日志无延迟实时写入的示例
Jul 11 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
Selenium webdriver添加cookie实现过程详解
Aug 12 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
Python Spyder 调出缩进对齐线的操作
Feb 26 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
PHP 压缩文件夹的类代码
2009/11/05 PHP
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
PHP日期处理函数 整型日期格式
2011/01/12 PHP
mysql总结之explain
2012/02/27 PHP
利用php递归实现无限分类 格式化数组的详解
2013/06/08 PHP
jQuery第三课 修改元素属性及内容的代码
2010/03/14 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jquery 点击元素后,滚动条滚动至该元素位置的方法
2016/08/05 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
简单的vuex 的使用案例笔记
2018/04/13 Javascript
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
webpack手动配置React开发环境的步骤
2018/07/02 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
JQuery绑定事件四种实现方法解析
2020/12/02 jQuery
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
python单元测试unittest实例详解
2015/05/11 Python
关于Python 的简单栅格图像边界提取方法
2019/07/05 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
Python中的sys.stdout.write实现打印刷新功能
2020/02/21 Python
Python自省及反射原理实例详解
2020/07/06 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
美德好少年主要事迹
2014/01/29 职场文书
梅花魂教学反思
2014/04/25 职场文书
党员教师群众路线个人整改措施
2014/10/28 职场文书
Python人工智能之混合高斯模型运动目标检测详解分析
2021/11/07 Python
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL