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 字符串定义
Sep 25 Python
Python学习之asyncore模块用法实例教程
Sep 29 Python
Python多线程、异步+多进程爬虫实现代码
Feb 17 Python
python斐波那契数列的计算方法
Sep 27 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
Python enumerate函数功能与用法示例
Mar 01 Python
wxPython实现分隔窗口
Nov 19 Python
Python 获取命令行参数内容及参数个数的实例
Dec 20 Python
mac使用python识别图形验证码功能
Jan 10 Python
Python 爬取淘宝商品信息栏目的实现
Feb 06 Python
python基于selenium爬取斗鱼弹幕
Feb 20 Python
Django开发RESTful API实现增删改查(入门级)
May 10 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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
php获取远程图片体积大小的实例
2013/11/12 PHP
php伪静态之APACHE篇
2014/06/02 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
2019/08/03 PHP
JavaScript中的16进制字符(改进)
2011/11/21 Javascript
将input file的选择的文件清空的两种解决方案
2013/10/21 Javascript
JS 日期比较大小的简单实例
2014/01/13 Javascript
js中settimeout方法加参数的使用实例
2014/02/27 Javascript
不同编码的页面表单数据乱码问题解决方法
2015/02/15 Javascript
JavaScript生成的动态下雨背景效果实现方法
2015/02/25 Javascript
js操作cookie保存浏览记录的方法
2015/12/25 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
如何从零开始利用js手写一个Promise库详解
2018/04/19 Javascript
JavaScript遍历DOM元素的常见方式示例
2019/02/16 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[01:46]TI4西雅图DOTA2前线报道 中国选手抱团调时差
2014/07/08 DOTA
Python 装饰器深入理解
2017/03/16 Python
python爬虫系列Selenium定向爬取虎扑篮球图片详解
2017/11/15 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
python获取响应某个字段值的3种实现方法
2020/04/30 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
详解Python 最短匹配模式
2020/07/29 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
Magee 1866官网:Donegal粗花呢外套和大衣专家
2019/11/01 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
编写函数,将一个3*3矩阵转置
2013/10/09 面试题
面包店的创业计划书范文
2014/01/16 职场文书
入党积极分子批评与自我批评思想汇报
2014/09/14 职场文书
医院志愿者活动总结
2015/05/06 职场文书
甲午风云观后感
2015/06/02 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
python编写五子棋游戏
2021/05/25 Python