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 paramiko实现ssh远程访问的方法
Dec 03 Python
python登陆asp网站页面的实现代码
Jan 14 Python
用Python写一个无界面的2048小游戏
May 24 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
Python实现购物程序思路及代码
Jul 24 Python
matplotlib实现区域颜色填充
Mar 18 Python
Django中create和save方法的不同
Aug 13 Python
NumPy中的维度Axis详解
Nov 26 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
pandas dataframe 中的explode函数用法详解
May 18 Python
Keras实现支持masking的Flatten层代码
Jun 16 Python
python图片验证码识别最新模块muggle_ocr的示例代码
Jul 03 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
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
PHP中md5()函数的用法讲解
2019/03/30 PHP
Jquery判断$("#id")获取的对象是否存在的方法
2013/09/25 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
javascript实现保留两位小数的多种方法
2015/12/18 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
Javascript的this用法
2017/01/16 Javascript
JS操作xml对象转换为Json对象示例
2017/03/25 Javascript
使用Angular CLI生成 Angular 5项目教程详解
2018/03/18 Javascript
angular4 共享服务在多个组件中数据通信的示例
2018/03/30 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
在Chrome DevTools中调试JavaScript的实现
2020/04/07 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
[48:44]2014 DOTA2国际邀请赛中国区预选赛5.21 TongFu VS HGT
2014/05/22 DOTA
[02:54]辉夜杯主赛事第二日败者组 iG.V赛后采访
2015/12/26 DOTA
python threading模块操作多线程介绍
2015/04/08 Python
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
基于循环神经网络(RNN)的古诗生成器
2018/03/26 Python
Python读取mat文件,并转为csv文件的实例
2018/07/04 Python
python实现名片管理系统
2018/11/29 Python
python多线程与多进程及其区别详解
2019/08/08 Python
OpenCV Python实现拼图小游戏
2020/03/23 Python
使用py-spy解决scrapy卡死的问题方法
2020/09/29 Python
详解Python Celery和RabbitMQ实战教程
2021/01/20 Python
为什么使用接口?
2014/08/13 面试题
体育系毕业生求职自荐信
2014/04/16 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
2014年学生会工作总结
2014/11/07 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
安全员岗位职责范本
2015/04/11 职场文书
古诗文之爱国名句(77句)
2019/09/24 职场文书
CentOS安装Nginx并部署vue
2022/04/12 Servers