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写的英文字符大小写转换代码示例
Mar 06 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
Python中字典的setdefault()方法教程
Feb 07 Python
python使用matplotlib绘制柱状图教程
Feb 08 Python
tensorflow获取变量维度信息
Mar 10 Python
使用Django和Python创建Json response的方法
Mar 26 Python
Python 生成 -1~1 之间的随机数矩阵方法
Aug 04 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python实现字典嵌套列表取值
Dec 16 Python
使用Puppeteer爬取微信文章的实现
Feb 11 Python
解决import tensorflow as tf 出错的原因
Apr 16 Python
提取视频中的音频 Python只需要三行代码!
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
真正的ZIP文件操作类(php)
2007/07/21 PHP
PHP 文件扩展名 获取函数
2009/06/03 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php实现带读写分离功能的MySQL类完整实例
2016/07/28 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
PHP的重载使用魔术方法代码实例详解
2021/02/26 PHP
javascript利用初始化数据装配模版的实现代码
2010/11/17 Javascript
jquery中的mouseleave和mouseout的区别 模仿下拉框效果
2012/02/07 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
js检测输入内容全为空格的方法
2014/05/03 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
SWFObject基本用法实例分析
2015/07/20 Javascript
js实现n秒倒计时后才可以点击的效果
2015/12/20 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
微信小程序静默登录的实现代码
2020/01/08 Javascript
Nodejs + sequelize 实现增删改查操作
2020/11/07 NodeJs
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
分析Python编程时利用wxPython来支持多线程的方法
2015/04/07 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
python操作excel的方法
2018/08/16 Python
python实现感知器算法(批处理)
2019/01/18 Python
java判断三位数的实例讲解
2019/06/10 Python
python代码如何注释
2020/06/01 Python
Python Pandas list列表数据列拆分成多行的方法实现
2020/12/14 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
美国伴娘礼服商店:Evening Collective
2019/10/07 全球购物
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
安全生产汇报材料
2014/02/17 职场文书
测控技术自荐信
2014/06/05 职场文书
司机岗位职责说明书
2014/07/29 职场文书
时尚女魔头观后感
2015/06/04 职场文书
退休欢送会致辞
2015/07/31 职场文书
建筑工程挂靠协议书
2016/03/23 职场文书