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函数缺省值与引用学习笔记分享
Feb 10 Python
Python实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
书单|人生苦短,你还不用python!
Dec 29 Python
Windows上使用Python增加或删除权限的方法
Apr 24 Python
Python利用正则表达式实现计算器算法思路解析
Apr 25 Python
python实现学员管理系统
Feb 26 Python
win10子系统python开发环境准备及kenlm和nltk的使用教程
Oct 14 Python
Django框架HttpRequest对象用法实例分析
Nov 01 Python
python 初始化一个定长的数组实例
Dec 02 Python
基于Python检测动态物体颜色过程解析
Dec 04 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
python爬虫scrapy框架的梨视频案例解析
Feb 20 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
人族 Terran 魔法与科技
2020/03/14 星际争霸
制作美丽的拉花
2021/03/03 冲泡冲煮
php中解析带中文字符的url函数分享
2015/01/20 PHP
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
php使用str_shuffle()函数生成随机字符串的方法分析
2017/02/17 PHP
php将html转为图片的实现方法
2017/05/19 PHP
javascript xml为数据源的下拉框控件
2009/07/07 Javascript
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
JavaScript极简入门教程(二):对象和函数
2014/10/25 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
javascript跨域总结之window.name实现的跨域数据传输
2015/11/01 Javascript
基于Vue.js实现数字拼图游戏
2016/08/02 Javascript
详解PHP中pathinfo()函数导致的安全问题
2017/01/05 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
基于JavaScript实现轮播图效果
2021/01/02 Javascript
[58:25]VP vs RNG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
用pycharm开发django项目示例代码
2018/10/24 Python
python 标准差计算的实现(std)
2019/07/29 Python
python多线程分块读取文件
2019/08/29 Python
python 两个数据库postgresql对比
2019/10/21 Python
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
2012/12/28 HTML / CSS
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
优秀的教师个人的中文求职信
2013/09/21 职场文书
会计辞职信范文
2014/01/15 职场文书
幼儿教师研修感言
2014/02/12 职场文书
十岁生日答谢词
2015/01/05 职场文书
党员证明信
2015/06/19 职场文书
小学生必读成语故事大全:送给暑假的你们
2019/07/09 职场文书
Python中requests做接口测试的方法
2021/05/30 Python
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js