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的Django框架中获取单个对象数据的简单方法
Jul 17 Python
Python中矩阵库Numpy基本操作详解
Nov 21 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
对python字典过滤条件的实例详解
Jan 22 Python
python批量下载抖音视频
Jun 17 Python
python读取并定位excel数据坐标系详解
Jun 26 Python
对Python获取屏幕截图的4种方法详解
Aug 27 Python
Pyspark读取parquet数据过程解析
Mar 27 Python
在python中使用nohup命令说明
Apr 16 Python
python3读取autocad图形文件.py实例
Jun 05 Python
python的列表生成式,生成器和generator对象你了解吗
Mar 16 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 文件上传功能实现代码
2009/06/24 PHP
php session安全问题分析
2011/06/24 PHP
php解析json数据实例
2014/08/19 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
PHP制作万年历
2015/01/07 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
jQuery中:not选择器用法实例
2014/12/30 Javascript
js原型链与继承解析(初体验)
2016/05/09 Javascript
AngularJS Controller作用域
2017/01/09 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
js实现旋转木马效果
2017/03/17 Javascript
在Vue中使用echarts的实例代码(3种图)
2017/07/10 Javascript
JS分页的实现(同步与异步)
2017/09/16 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
Vue 拦截器对token过期处理方法
2018/01/23 Javascript
深入浅析Node环境和浏览器的区别
2018/08/14 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
原生javascript制作的拼图游戏实现方法详解
2020/02/23 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
Python的Django框架使用入门指引
2015/04/15 Python
Python中的getopt函数使用详解
2015/07/28 Python
深入浅析python定时杀进程
2016/06/06 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
python中map的基本用法示例
2018/09/10 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
详解python中的index函数用法
2019/08/06 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
python如何调用java类
2020/07/05 Python
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
《盘古开天地》教学反思
2014/02/28 职场文书
社区矫正工作方案
2014/06/04 职场文书
政审证明范文
2015/06/19 职场文书