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 27 Python
Python文件处理
Feb 29 Python
利用Python破解验证码实例详解
Dec 08 Python
Django实现的自定义访问日志模块示例
Jun 23 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
对python列表里的字典元素去重方法详解
Jan 21 Python
Python简单基础小程序的实例代码
Apr 28 Python
python 爬取古诗文存入mysql数据库的方法
Jan 08 Python
Python读写操作csv和excle文件代码实例
Mar 16 Python
python ETL工具 pyetl
Jun 07 Python
Python tkinter制作单机五子棋游戏
Sep 14 Python
python3列表删除大量重复元素remove()方法的问题详解
Jan 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
PHP按行读取、处理较大CSV文件的代码实例
2014/04/09 PHP
PHP获取当前完整URL地址的函数
2014/12/21 PHP
使用GD库生成带阴影文字的图片
2015/03/27 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
浅析PHP 中move_uploaded_file 上传中文文件名失败
2019/04/17 PHP
基于JQuery实现相同内容合并单元格的代码
2011/01/12 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
JQUERY实现左侧TIPS滑进滑出效果示例
2013/06/27 Javascript
jquery用get实现ajax在ie里面刷新不进入后台解决方法
2013/08/12 Javascript
一个JavaScript函数把URL参数解析成Json对象
2014/09/24 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
javascript解三阶幻方(九宫格)
2015/04/22 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
解决js相同的正则多次调用test()返回的值却不同的问题
2018/10/10 Javascript
js实现内置计时器
2019/12/16 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
python实现从web抓取文档的方法
2014/09/26 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Django自定义manage命令实例代码
2018/02/11 Python
Python实现调用另一个路径下py文件中的函数方法总结
2018/06/07 Python
python文件拆分与重组实例
2018/12/10 Python
Python逐行读取文件中内容的简单方法
2019/02/26 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
Python模块相关知识点小结
2020/03/09 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
老公保证书范文
2014/04/29 职场文书
关于工作经历的证明书
2014/10/11 职场文书
在校学生证明格式
2015/06/24 职场文书
公司酒会致辞
2015/07/30 职场文书
25句企业管理语录:助你迅速打开思路,句句经典!
2020/01/14 职场文书
nginx限制并发连接请求数的方法
2021/04/01 Servers