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中操作文件之read()方法的使用教程
May 24 Python
python基本语法练习实例
Sep 19 Python
Django中的CBV和FBV示例介绍
Feb 25 Python
Django实战之用户认证(用户登录与注销)
Jul 16 Python
flask入门之表单的实现
Jul 18 Python
人工神经网络算法知识点总结
Jun 11 Python
python支持多线程的爬虫实例
Dec 21 Python
TensorFlow加载模型时出错的解决方式
Feb 06 Python
TensorBoard 计算图的查看方式
Feb 15 Python
详解python tcp编程
Aug 24 Python
基于Python实现的购物商城管理系统
Apr 27 Python
Python matplotlib 利用随机函数生成变化图形
Apr 26 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
JS 网站性能优化笔记
2011/05/24 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
如何用php生成扭曲及旋转的验证码图片
2013/06/07 PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
2013/11/11 PHP
php去除数组中重复数据
2014/11/18 PHP
Zend Framework实现多文件上传功能实例
2016/03/21 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
2017/02/15 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
简单选项卡 js和jquery制作方法分享
2014/02/26 Javascript
node.js [superAgent] 请求使用示例
2015/03/13 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
Vue 组件间的样式冲突污染
2017/08/31 Javascript
vue+VeeValidate 校验范围实例详解(部分校验,全部校验)
2018/10/19 Javascript
JQuery省市联动效果实现过程详解
2020/05/08 jQuery
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
2020/09/02 Javascript
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
使用IPython来操作Docker容器的入门指引
2015/04/08 Python
搭建Python的Django框架环境并建立和运行第一个App的教程
2016/07/02 Python
JSON文件及Python对JSON文件的读写操作
2018/10/07 Python
django认证系统 Authentication使用详解
2019/07/22 Python
python实现AHP算法的方法实例(层次分析法)
2020/09/09 Python
南京软件公司的.net程序员笔试题
2014/08/31 面试题
大学生新闻专业个人自我评价
2013/11/12 职场文书
秘书岗位职责
2013/11/18 职场文书
销售文员岗位职责
2013/11/29 职场文书
债务纠纷委托书
2014/08/30 职场文书
2014年司法局工作总结
2014/12/11 职场文书
施工安全协议书
2016/03/22 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
MySQL系列之一 MariaDB-server安装
2021/07/02 MySQL
Nginx本地配置SSL访问的实例教程
2022/05/30 Servers