pandas 空数据处理方法详解


Posted in Python onNovember 02, 2019

这篇文章主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

方法一:直接删除

1.查看行或列是否有空格(以下的df为DataFrame类型,axis=0,代表列,axis=1代表行,以下的返回值都是行或列索引加上布尔值)

isnull方法

查看行:df.isnull().any(axis=1)

查看列:df.isnull().any(axis=0)

notnull方法:

查看行:df.notnull().all(axis=1)

查看列:df.notnull().all(axis=0)

例子:

df.isnull().any(axis=1) # 检测行内是否有空值
0 False
1 True
2 False
3 True
4 False
5 True
6 False
7 True
8 False
9 False
dtype: bool

注意点:以上方法都可以用~取反的办法获取相反的结果

2.在1的前提下使用df.loc[],可取出1中筛选出数据的具体数据如:

df.loc[df.isnull().any(axis=1)]

取出这几行的索引可用属性index如:df.loc[df.isnull().any(axis=1)].index

得到这些索引后可以使用drop方法进行删除如:

注意:drop方法中的axis值与其他方法相反,axis=0表示行,=1表示列。

df.drop(labels=drop_index, axis=0)

总结下来为4步:

一.使用isnull或notnull筛选:df.isnull().any(axis=0)

二.使用loc取出具体数据:df.loc[df.isnull().any(axis=1)]

三:取出这些数据的索引:df.loc[df.isnull().any(axis=1)].index

四.使用drop删除:df.drop(labels=drop_index, axis=0)

方法二:填充空值

步骤和方法一前几步相同

isnull()

notnull()

dropna(): 过滤丢失数据(df.dropna() 可以选择过滤的是行还是列(默认为行):axis中0表示行,1表示的列)

fillna(): 填充丢失数据(可以选择自主添加数据,或者用表中原有的数据进行补充)

1.使用dropna(不常用):df.dropna(axis=0)

2.使用fillna(常用):

一.df.fillna(value=666)给所有的控制赋值为666

二.df.fillna(method='ffill', axis=0) # axis=0表示在垂直方向填充(axis值:0为垂直,1为水平),使用上方的值对空值进行填充,组合起来就是,使用垂直方向上方的值对当前位置的值进行填充

三.df.fillna(method='bfill', axis=1) # axis=1表示在水平方向填充(axis值为0垂直1为水平),bfill表示使用后面的值对空值进行填充,组合起来就是,使用水平方向右边的值对当前位置的值进行填充

总结:ffill(前)和bfill(后)决定前或后,axis决定垂直或水平

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python2中的raw_input() 与 input()
Jun 12 Python
实例讲解Python的函数闭包使用中应注意的问题
Jun 20 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
python模拟事件触发机制详解
Jan 19 Python
Python合并同一个文件夹下所有PDF文件的方法
Mar 11 Python
Python使用Beautiful Soup爬取豆瓣音乐排行榜过程解析
Aug 15 Python
python实现WebSocket服务端过程解析
Oct 18 Python
Python-openCV读RGB通道图实例
Jan 17 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
Jul 01 Python
Scrapy模拟登录赶集网的实现代码
Jul 07 Python
Python自动化xpath实现自动抢票抢货
Sep 19 Python
详解Python中string模块除去Str还剩下什么
Nov 30 Python
python pyinstaller打包exe报错的解决方法
Nov 02 #Python
python自动生成model文件过程详解
Nov 02 #Python
python__name__原理及用法详解
Nov 02 #Python
简单了解python中的f.b.u.r函数
Nov 02 #Python
如何在python中实现随机选择
Nov 02 #Python
图解python全局变量与局部变量相关知识
Nov 02 #Python
Python如何实现动态数组
Nov 02 #Python
You might like
php数据库配置文件一般做法分享
2012/07/07 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
2012/07/16 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
JS中 用户登录系统的解决办法
2013/04/15 Javascript
点击进行复制的JS代码实例
2013/08/23 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
JavaScript操作选择对象的简单实例
2016/05/16 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery 获取页面li数组并删除不在数组中的key
2016/08/02 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
less简单入门(CSS 预处理语言)
2017/03/08 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
详解vue嵌套路由-params传递参数
2017/05/23 Javascript
JS模拟超市简易收银台小程序代码解析
2017/08/18 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
[02:12]2015国际邀请赛 SHOWOPEN
2015/08/05 DOTA
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
2013/12/03 Python
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python压缩和解压缩zip文件
2015/02/14 Python
对Tensorflow中的矩阵运算函数详解
2018/07/27 Python
Python3.7 新特性之dataclass装饰器
2019/05/27 Python
python实现多线程端口扫描
2019/08/31 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
使用HTML5和CSS3表单验证功能
2017/05/05 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
如何在Oracle中查看各个表、表空间占用空间的大小
2015/10/31 面试题
舞蹈兴趣小组活动总结
2014/07/07 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
运动会通讯稿100字
2015/07/20 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python