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实现连接mongodb的方法
May 08 Python
Python多进程同步简单实现代码
Apr 27 Python
12步入门Python中的decorator装饰器使用方法
Jun 20 Python
python利用matplotlib库绘制饼图的方法示例
Dec 18 Python
Python创建xml文件示例
Mar 22 Python
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
Python实现简单遗传算法(SGA)
Jan 29 Python
利用pandas合并多个excel的方法示例
Oct 10 Python
Python3爬虫中识别图形验证码的实例讲解
Jul 30 Python
Python中seaborn库之countplot的数据可视化使用
Jun 11 Python
python字典的元素访问实例详解
Jul 21 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
把PHP安装为Apache DSO
2006/10/09 PHP
php动态生成版权所有信息的方法
2015/03/24 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
另类调用flash无须激活的方法
2006/12/27 Javascript
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
2010/11/21 Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
2015/12/04 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
JS实现页面打印功能
2017/03/16 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
详解weex默认webpack.config.js改造
2018/01/08 Javascript
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
vue实现计步器功能
2019/11/01 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
[50:28]LGD女子学院第三期 DOTA2复仇之魂教学
2013/12/24 DOTA
python中遍历文件的3个方法
2014/09/02 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
Python实现单词翻译功能
2017/06/06 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
详解django的serializer序列化model几种方法
2018/10/16 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
Python地图绘制实操详解
2019/03/04 Python
Python求均值,方差,标准差的实例
2019/06/29 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
美国顶级奢侈茶:Mighty Leaf Tea(美泰茶)
2016/11/26 全球购物
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
后勤工作职责
2013/12/22 职场文书
汽修专业自荐信
2014/07/07 职场文书
村党支部书记个人对照材料汇报
2014/10/26 职场文书
幼儿园教师求职信
2015/03/20 职场文书
志愿者服务活动总结报告
2015/05/06 职场文书
HTTP中的Content-type详解
2022/01/18 HTML / CSS