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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python模块学习 filecmp 文件比较
Aug 27 Python
深入理解Python中装饰器的用法
Jun 28 Python
Python下的Softmax回归函数的实现方法(推荐)
Jan 26 Python
通过Python 获取Android设备信息的轻量级框架
Dec 18 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
Django Rest framework权限的详细用法
Jul 25 Python
python实现回旋矩阵方式(旋转矩阵)
Dec 04 Python
浅谈PyTorch中in-place operation的含义
Jun 27 Python
Python unittest基本使用方法代码实例
Jun 29 Python
python实现图像外边界跟踪操作
Jul 13 Python
python Polars库的使用简介
Apr 21 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
thinkphp中U方法按路由规则生成url的方法
2018/03/12 PHP
在 PHP 和 Laravel 中使用 Traits的方法
2019/11/13 PHP
Json字符串转换为JS对象的高效方法实例
2013/05/01 Javascript
jQuery对下拉框,单选框,多选框的操作
2014/02/21 Javascript
win7下安装配置node.js+express开发环境
2015/12/06 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
详解Vue路由钩子及应用场景(小结)
2017/11/07 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
修改Nodejs内置的npm默认配置路径方法
2018/05/13 NodeJs
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
2018/09/21 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
MySQL最常见的操作语句小结
2015/05/07 Python
Python字符串格式化
2015/06/15 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
Python闭包执行时值的传递方式实例分析
2018/06/04 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
selenium+python自动化测试之环境搭建
2019/01/23 Python
Python用户自定义异常的实现
2020/12/25 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
欧洲最大的美妆零售网站:Feelunique
2017/01/14 全球购物
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
如何利用find命令查找文件
2015/02/07 面试题
室内设计专业学生的自我评价分享
2013/11/27 职场文书
观看《永远的雷锋》心得体会
2014/03/12 职场文书
对孩子的寄语
2014/04/09 职场文书
Nginx + consul + upsync 完成动态负载均衡的方法详解
2021/03/31 Servers
MySQL连表查询分组去重的实现示例
2021/07/01 MySQL