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 相关文章推荐
Python标准库defaultdict模块使用示例
Apr 28 Python
开始着手第一个Django项目
Jul 15 Python
Python实现压缩与解压gzip大文件的方法
Sep 18 Python
Python实现注册登录系统
Aug 08 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
Python用for循环实现九九乘法表
May 31 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
Feb 11 Python
tensorflow 保存模型和取出中间权重例子
Jan 24 Python
pandas中的ExcelWriter和ExcelFile的实现方法
Apr 24 Python
如何在python中执行另一个py文件
Apr 30 Python
Python学习之os模块及用法
Jun 03 Python
Python学习之路安装pycharm的教程详解
Jun 17 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
在PHP3中实现SESSION的功能(二)
2006/10/09 PHP
php curl请求信息和返回信息设置代码实例
2015/04/27 PHP
非常经典的PHP文件上传类分享
2016/05/15 PHP
PHP实现的分页类定义与用法示例
2017/07/05 PHP
js null undefined 空区别说明
2010/06/13 Javascript
使用Firebug对js进行断点调试的图文方法
2011/04/02 Javascript
jquery实现图片灯箱明暗的遮罩效果
2013/11/15 Javascript
Jquery Post处理后不进入回调的原因及解决方法
2014/07/15 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
javascript结合Flexbox简单实现滑动拼图游戏
2016/02/18 Javascript
js实现楼层效果的简单实例
2016/07/15 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
Windows系统配置python脚本开机启动的3种方法分享
2015/03/10 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
2015/10/13 Python
Python批量修改文本文件内容的方法
2016/04/29 Python
Python面向对象编程基础解析(二)
2017/10/26 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
python矩阵/字典实现最短路径算法
2019/01/17 Python
PyQt5 窗口切换与自定义对话框的实例
2019/06/20 Python
Python3和PyCharm安装与环境配置【图文教程】
2020/02/14 Python
django使用F方法更新一个对象多个对象字段的实现
2020/03/28 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
2021/03/02 Python
css3简单练习实现遨游浏览器logo的绘制
2013/01/30 HTML / CSS
瑞士领先的网上超市:LeShop.ch
2018/11/14 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
毕业生的自我评价范文
2013/12/31 职场文书
公司部门司机岗位职责
2014/01/03 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
个人批评与自我批评范文
2014/10/17 职场文书
工作表扬信
2015/01/17 职场文书
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript