Pandas之Dropna滤除缺失数据的实现方法


Posted in Python onJune 25, 2019

约定:

import pandas as pd
import numpy as np
from numpy import nan as NaN

滤除缺失数据

pandas的设计目标之一就是使得处理缺失数据的任务更加轻松些。pandas使用NaN作为缺失数据的标记。

使用dropna使得滤除缺失数据更加得心应手。

一、处理Series对象

通过**dropna()**滤除缺失数据:

se1=pd.Series([4,NaN,8,NaN,5])
print(se1)
se1.dropna()

代码结果:

0    4.0
1    NaN
2    8.0
3    NaN
4    5.0
dtype: float64

0    4.0
2    8.0
4    5.0
dtype: float64

通过布尔序列也能滤除:

se1[se1.notnull()]

代码结果:

0    4.0
2    8.0
4    5.0
dtype: float64

二、处理DataFrame对象

处理DataFrame对象比较复杂,因为你可能需要丢弃所有的NaN或部分NaN。

df1=pd.DataFrame([[1,2,3],[NaN,NaN,2],[NaN,NaN,NaN],[8,8,NaN]])
df1

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
2 NaN NaN NaN
3 8.0 8.0 NaN

默认滤除所有包含NaN:

df1.dropna()

代码结果:

0 1 2
0 1.0 2.0 3.0

传入**how=‘all'**滤除全为NaN的行:

df1.dropna(how='all')

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
3 8.0 8.0 NaN

传入axis=1滤除列:

df1[3]=NaN
df1

代码结果:

0 1 2 3
0 1.0 2.0 3.0 NaN
1 NaN NaN 2.0 NaN
2 NaN NaN NaN NaN
3 8.0 8.0 NaN NaN
df1.dropna(axis=1,how="all")

代码结果:

传入thresh=n保留至少有n个非NaN数据的行:

df1.dropna(thresh=1)

df1.dropna(thresh=3)

代码结果:

0 1 2
0 1.0 2.0 3.0
1 NaN NaN 2.0
2 NaN NaN NaN
3 8.0 8.0 NaN

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之编写类之一创建实例
Oct 11 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
利用Django提供的ModelForm增删改数据的方法
Jan 06 Python
通过python爬虫赚钱的方法
Jan 29 Python
Django获取该数据的上一条和下一条方法
Aug 12 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
Jan 10 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
python时间time模块处理大全
Oct 25 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
PyQT5 QTableView显示绑定数据的实例详解
Jun 25 #Python
Pandas之ReIndex重新索引的实现
Jun 25 #Python
Python中使用__new__实现单例模式并解析
Jun 25 #Python
pyQt5实时刷新界面的示例
Jun 25 #Python
Pandas之MultiIndex对象的示例详解
Jun 25 #Python
Python+threading模块对单个接口进行并发测试
Jun 25 #Python
python简单鼠标自动点击某区域的实例
Jun 25 #Python
You might like
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
PHP生成随机数的方法实例分析
2015/01/22 PHP
Laravel实现构造函数自动依赖注入的方法
2016/03/16 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
js onload处理html页面加载之后的事件
2013/10/30 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
JavaScript生成带有缩进的表格代码
2016/06/15 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
Vue实现将数据库中带html标签的内容输出(原始HTML(Raw HTML))
2019/10/28 Javascript
vue Cli 环境删除与重装教程 - 版本文档
2020/09/11 Javascript
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python找出9个连续的空闲端口
2016/02/01 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python使用原始套接字发送二层包(链路层帧)的方法
2019/07/22 Python
Python高级特性——详解多维数组切片(Slice)
2019/11/26 Python
哪些是python中web开发框架
2020/06/17 Python
浅析Python 条件控制语句
2020/07/15 Python
美国著名童装品牌:OshKosh B’gosh
2016/08/05 全球购物
什么是虚拟内存?虚拟内存有什么优势?
2012/02/19 面试题
2013年学期结束动员演讲稿
2014/01/07 职场文书
演讲稿开场白
2014/01/13 职场文书
求职个人评价范文
2014/04/09 职场文书
公司股权转让协议书
2014/04/12 职场文书
活动总结格式范文
2014/04/26 职场文书
写作指导:怎么书写竞聘演讲稿?
2019/07/04 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python