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 ORM框架SQLAlchemy学习笔记之映射类使用实例和Session会话介绍
Jun 10 Python
python生成器,可迭代对象,迭代器区别和联系
Feb 04 Python
python生成tensorflow输入输出的图像格式的方法
Feb 12 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
对python中xlsx,csv以及json文件的相互转化方法详解
Dec 25 Python
对Python的多进程锁的使用方法详解
Feb 18 Python
关于Python核心框架tornado的异步协程的2种方法详解
Aug 28 Python
python socket通信编程实现文件上传代码实例
Dec 14 Python
简单了解django处理跨域请求最佳解决方案
Mar 25 Python
解决tensorflow读取本地MNITS_data失败的原因
Jun 22 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缓存类代码(附详细说明)
2011/06/09 PHP
比较好用的PHP防注入漏洞过滤函数代码
2012/04/11 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
PHP利用REFERER根居访问来地址进行页面跳转
2013/09/28 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
2016/01/04 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
jQuery实现可移动选项的左右下拉列表示例
2016/12/26 Javascript
JS实现的tab切换选项卡效果示例
2017/02/28 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
基于javascript的无缝滚动动画1
2020/08/07 Javascript
python获得一个月有多少天的方法
2015/06/04 Python
Python实现的购物车功能示例
2018/02/11 Python
python 判断网络连通的实现方法
2018/04/22 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
python爬取Ajax动态加载网页过程解析
2019/09/05 Python
iframe在移动端的缩放的示例代码
2018/10/12 HTML / CSS
Beauty Expert美国/加拿大:购买奢侈美容产品
2018/12/05 全球购物
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
C,C++的几个面试题小集
2013/07/13 面试题
国家励志奖学金获奖感言
2014/01/09 职场文书
女子职高个人自荐书
2014/02/01 职场文书
网络编辑岗位职责范本
2014/02/10 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
售后求职信范文
2014/03/15 职场文书
班级寄语大全
2014/04/10 职场文书
倡议书格式范文
2014/04/14 职场文书
毕业生求职信范文
2014/06/29 职场文书
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
党的群众路线教育实践活动个人整改措施范文
2014/11/04 职场文书
早会开场白台词大全
2015/06/01 职场文书
Debian11 Xfce终端光标的颜色怎么设置?
2022/08/14 数码科技