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 相关文章推荐
仅利用30行Python代码来展示X算法
Apr 01 Python
详解Python程序与服务器连接的WSGI接口
Apr 29 Python
举例详解Python中yield生成器的用法
Aug 05 Python
举例讲解Python中的list列表数据结构用法
Mar 12 Python
对Python进行数据分析_关于Package的安装问题
May 22 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
Python3实现转换Image图片格式
Jun 21 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
Jun 22 Python
Pytorch 实现自定义参数层的例子
Aug 17 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
详细分析Python垃圾回收机制
Jul 01 Python
Python接口自动化系列之unittest结合ddt的使用教程详解
Feb 23 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 裁剪图片
2021/03/09 PHP
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
基于jquery的地址栏射击游戏代码
2011/03/10 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
nodejs中的fiber(纤程)库详解
2015/03/24 NodeJs
JavaScript监听文本框回车事件并过滤文本框空格的方法
2015/04/16 Javascript
jQuery实现的登录浮动框效果代码
2015/09/26 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
2017/05/17 Javascript
浅谈关于angularJs中使用$.ajax的注意点
2017/08/12 Javascript
浅谈node模块与npm包管理工具
2018/01/03 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
Javascript和jquery在selenium的使用过程
2019/10/31 jQuery
Python实现处理管道的方法
2015/06/04 Python
六行python代码的爱心曲线详解
2019/05/17 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
利用anaconda作为python的依赖库管理方法
2019/08/13 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
Keras之fit_generator与train_on_batch用法
2020/06/17 Python
Python如何急速下载第三方库详解
2020/11/02 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
浅析HTML5 Landmark
2020/09/11 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
2015/05/02 面试题
优秀学生干部个人的自我评价
2013/10/04 职场文书
毕业生自我鉴定实例
2014/01/21 职场文书
xxx同志考察材料
2014/02/07 职场文书
公务员保密承诺书
2014/03/27 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
爱护公物主题班会
2015/08/17 职场文书
Golang 空map和未初始化map的注意事项说明
2021/04/29 Golang