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编写网页爬虫脚本并实现APScheduler调度
Jul 28 Python
python框架django基础指南
Sep 08 Python
Python制作简易注册登录系统
Dec 15 Python
python opencv 图像尺寸变换方法
Apr 02 Python
详解Python中正则匹配TAB及空格的小技巧
Jul 26 Python
python pygame实现球球大作战
Nov 25 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
python和php学习哪个更有发展
Jun 17 Python
python3跳出一个循环的实例操作
Aug 18 Python
python中turtle库的简单使用教程
Nov 11 Python
python调用百度AI接口实现人流量统计
Feb 03 Python
python 制作磁力搜索工具
Mar 04 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安装攻略:常见问题解答(二)
2006/10/09 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
处理单名多值表单的详解
2013/06/08 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法
2015/12/17 PHP
安装docker和docker-compose实例详解
2019/07/30 PHP
理解Javascript_01_理解内存分配原理分析
2010/10/11 Javascript
js实现照片墙功能实例
2015/02/05 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
JavaScript将字符串转换为整数的方法
2015/04/14 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
js图片卷帘门导航菜单特效代码分享
2015/09/10 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
JS获取浮动(float)元素的style.left值为空的快速解决办法
2017/02/19 Javascript
JavaScript使用readAsDataUrl方法预览图片
2017/05/10 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
jQuery实现本地存储
2020/12/22 jQuery
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
解决python爬虫中有中文的url问题
2018/05/11 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python 将字符串中的数字相加求和的实现
2019/07/18 Python
HTML5、Select下拉框右边加图标的实现代码(增进用户体验)
2017/10/16 HTML / CSS
高中毕业自我鉴定
2013/12/13 职场文书
2014年党员创先争优承诺书
2014/05/29 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
大一学生个人总结
2015/02/15 职场文书
七年级写作指导之游记作文
2019/10/07 职场文书
导游词之山东孔庙
2019/11/04 职场文书
redis 查看所有的key方式
2021/05/07 Redis
Python机器学习之决策树和随机森林
2021/07/15 Javascript