数据清洗--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 相关文章推荐
解析Mac OS下部署Pyhton的Django框架项目的过程
May 03 Python
python图片验证码生成代码
Jul 02 Python
python机器学习之神经网络(三)
Dec 20 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
Python上下文管理器用法及实例解析
Nov 11 Python
Python统计时间内的并发数代码实例
Dec 28 Python
Python timer定时器两种常用方法解析
Jan 20 Python
tensorflow模型继续训练 fineturn实例
Jan 21 Python
pip安装tensorflow的坑的解决
Apr 19 Python
pycharm全局搜索的具体步骤
Jul 28 Python
matplotlib实现数据实时刷新的示例代码
Jan 05 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
Feb 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
PHP 防注入函数(格式化数据)
2011/08/08 PHP
php的laravel框架快速集成微信登录的方法
2016/12/12 PHP
详解PHP字符串替换str_replace()函数四种用法
2017/10/13 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
js格式化时间的方法
2015/12/18 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
2016/10/24 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
微信小程序实现发送验证码按钮效果
2018/12/20 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
vue滚动tab跟随切换效果
2020/06/29 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
基于javascript实现移动端轮播图效果
2020/12/21 Javascript
[04:09]2018年度DOTA2社区贡献奖-完美盛典
2018/12/16 DOTA
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
python Django 创建应用过程图示详解
2019/07/29 Python
python如何使用jt400.jar包代码实例
2019/12/20 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
python 如何调用 dubbo 接口
2020/09/24 Python
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
会计系个人求职信范文分享
2013/12/20 职场文书
写给女生的道歉信
2014/01/08 职场文书
亲戚结婚的请假条
2014/02/11 职场文书
幼儿园小班植树节活动方案
2014/03/04 职场文书
安全生产月演讲稿
2014/05/09 职场文书
服务行业口号
2014/06/11 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
银行求职信范文怎么写
2015/03/20 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python