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 os模块介绍
Nov 30 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
Python实现在线音乐播放器
Mar 03 Python
python爬虫的工作原理
Mar 05 Python
python 禁止函数修改列表的实现方法
Aug 03 Python
python实现多线程网页下载器
Apr 15 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
Oct 22 Python
python自动发送测试报告邮件功能的实现
Jan 22 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
python实现广度优先搜索过程解析
Oct 19 Python
Python Parser的用法
May 12 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
一个程序下载的管理程序(四)
2006/10/09 PHP
php小经验:解析preg_match与preg_match_all 函数
2013/06/29 PHP
通过php修改xml文档内容的方法
2015/01/23 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
js函数般调用正则
2008/04/08 Javascript
JavaScript 入门基础知识 想学习js的朋友可以参考下
2009/12/26 Javascript
javascript:;与javascript:void(0)使用介绍
2013/06/05 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
jQuery实现的Tab滑动选项卡及图片切换(多种效果)小结
2015/09/14 Javascript
Bootstrap使用基础教程详解
2016/09/05 Javascript
vue.js实现含搜索的多种复选框(附源码)
2017/03/23 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
2017/04/25 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
对mac下nodejs 更新到最新版本的最新方法(推荐)
2018/05/17 NodeJs
Javascript读取上传文件内容/类型/字节数
2019/04/30 Javascript
ES6小技巧之代替lodash
2019/06/07 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
vue实现权限控制路由(vue-router 动态添加路由)
2019/11/04 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
详解vite+ts快速搭建vue3项目以及介绍相关特性
2021/02/25 Vue.js
Python基于列表模拟堆栈和队列功能示例
2018/01/05 Python
Python爬虫通过替换http request header来欺骗浏览器实现登录功能
2018/01/07 Python
python使用udp实现聊天器功能
2018/12/10 Python
Python实现二叉搜索树BST的方法示例
2019/07/30 Python
python 矢量数据转栅格数据代码实例
2019/09/30 Python
解决Python二维数组赋值问题
2019/11/28 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
Guess荷兰官网:美国服饰品牌
2020/01/22 全球购物
项目经理的岗位职责
2013/11/23 职场文书
海洋天堂观后感
2015/06/05 职场文书
高一军训感想
2015/08/07 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏