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实现实例
Apr 26 Python
Python中使用urllib2防止302跳转的代码例子
Jul 07 Python
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
May 22 Python
Django rest framework基本介绍与代码示例
Jan 26 Python
使用Python读取二进制文件的实例讲解
Jul 09 Python
python读取和保存图片5种方法对比
Sep 12 Python
Python中遍历列表的方法总结
Jun 27 Python
Python实现字符串中某个字母的替代功能
Oct 21 Python
解析PyCharm Python运行权限问题
Jan 08 Python
django实现模型字段动态choice的操作
Apr 01 Python
深度学习小工程练习之垃圾分类详解
Apr 14 Python
解决pycharm安装scrapy DLL load failed:找不到指定的程序的问题
Jun 08 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
SONY SRF-40W电路分析
2021/03/02 无线电
常用的PHP数据库操作方法(MYSQL版)
2011/06/08 PHP
PHP实用函数分享之去除多余的0
2015/02/06 PHP
php中Snoopy类用法实例
2015/06/19 PHP
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
jQuery 学习第六课 实现一个Ajax的TreeView
2010/05/17 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
原生js做的手风琴效果的导航菜单
2013/11/08 Javascript
js实现的Easy Tabs选项卡用法实例
2015/09/06 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
2015/09/10 Javascript
跟我学习javascript的异步脚本加载
2015/11/20 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
p5.js入门教程之键盘交互
2018/03/19 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
服务端预渲染之Nuxt(使用篇)
2019/04/08 Javascript
ant-design-vue 实现表格内部字段验证功能
2019/12/16 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
antd中table展开行默认展示,且不需要前边的加号操作
2020/11/02 Javascript
Python中replace方法实例分析
2014/08/20 Python
python中as用法实例分析
2015/04/30 Python
python编写分类决策树的代码
2017/12/21 Python
Jupyter安装nbextensions,启动提示没有nbextensions库
2020/04/23 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
2019/07/22 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
python实现快递价格查询系统
2020/03/03 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
瑜伽国际:Yoga International
2018/04/18 全球购物
早会主持词
2014/03/17 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
世界读书日的活动方案
2014/08/20 职场文书
2014年乡镇纪委工作总结
2014/12/19 职场文书
nginx之内存池的实现
2022/06/28 Servers