Pandas详解十之Dropna滤除缺失数据
约定:
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: float640 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")
代码结果:
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 |
- 传入thresh=n保留至少有n个非NaN数据的行:
df1.dropna(thresh=1)
代码结果:
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 1.0 | 2.0 | 3.0 | NaN |
1 | NaN | NaN | 2.0 | NaN |
3 | 8.0 | 8.0 | NaN | NaN |
df1.dropna(thresh=3)
代码结果:
0 | 1 | 2 | 3 | |
---|---|---|---|---|
0 | 1.0 | 2.0 | 3.0 | NaN |
谢谢大家的浏览,
希望我的努力能帮助到您,
共勉!
Pandas详解十之Dropna滤除缺失数据相关推荐
- python pandas dropna_Pandas之Dropna滤除缺失数据的实现方法
约定: import pandas as pd import numpy as np from numpy import nan as NaN 滤除缺失数据 pandas的设计目标之一就是使得处理缺失 ...
- .Dropna()滤除缺失数据||空字符串处理
滤除缺失数据 DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) Remove missing v ...
- Python全栈开发-数据分析-02 Pandas详解 (上)
Pandas详解 (上) 一. 安装pandas 1.按Win+R,输入CMD确定, 输入 pip install pandas 回车 还要安装xlrd,否则你打不开Excel文件 pip insta ...
- Python全栈开发-数据分析-03 Pandas详解 (中)
Pandas详解 (中) 一. 处理缺失值 1.1 drop函数:删除行,删除列 1.删除某列或某行数据可以用到pandas提供的方法drop 2.drop方法的用法: drop(labels, ax ...
- Python全栈开发-数据分析-03 Pandas详解 (下)
Pandas详解 (下) 一. Excel文件的拆分与合并 1.1 一个文件夹下多个工作簿的合并[单独Sheet] 思路: 1,把文件夹下面所有的文件都遍历出来 2.循环读取每个文件 (1)第一次读取 ...
- Linux内核Thermal框架详解十二、Thermal Governor(2)
本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...
- 元宇宙技术普及读本重磅问世 详解十大技术 把脉数字经济 前瞻产业布局
转自 元宇宙共识圈 王恩东.倪光南.沈昌祥.郑纬民--四位中国工程院院士联袂力荐 倪健中.姚前.李正茂.朱嘉明.肖风.敖然等权威专家一致推荐 汇聚元宇宙技术专家及产业一线佼佼者倾力撰写 元宇宙技术普及 ...
- python的dropna 和notna的性能_python轻松滤除缺失数据
前言 缺失数据(missing data)在大部分数据分析应用中都很常见.Pandas的设计目标之一就是让缺失数据的处理任务尽量轻松. Pandas使用浮点值NAN(not a number)表示浮点 ...
- 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解
负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...
最新文章
- SpringMVC学习手册(三)------EL和JSTL(上)
- BZOJ-2618-凸多边形-CQOI2006
- linux技术理解,技术|理解 Linux 链接(二)
- 使用Xcode 7 beta免费真机调试iOS应用程序
- python tensorflow 智能家居_TensorFlow平台下的视频目标跟踪深度学习模型设计
- Angular Material 攻略 04 Icon
- OpenCv学习笔记(二)—cv Mat学习
- fedora python3-mysql_centos 下安装python3 的MySQLdb
- JAVA基础知识点总结
- 四步成为人工智能产品经理
- 3D动画展示--3D图片旋转展示
- 苹果计算机音频无法使用,苹果电脑没声音了怎么回事
- ue4 从小到大_UE4 Pak 相关知识总结
- Cannot create symlink/symbolic to `xxx': Operation not supported
- 计算机软件水平考试什么题型,计算机软考考什么内容
- 关于鼠标右键的快捷键
- 基于微信JAVA后台校园小程序系统设计与实现 开题报告
- 2020年全球EDA软件行业市场竞争格局分析 三巨头三足鼎立
- 一个简单木马分析及接管利用
- 电商零售:到底走线上还是线下?
热门文章
- 2094 找出 3 位偶数
- 解决一个JAVA小问题
- AVPro Movie Capture☀️一、一款U3D录屏插件介绍
- 通过宝塔面板部署.NET项目(安装环境=>前后端部署)
- Access数据库常用函数大全
- brpc源码解析(二)—— brpc收到请求的处理过程
- EOS智能合约开发系列(18): 狼人杀游戏的`eosio.code`
- 汇编相对基址变址寻址方式的使用
- [网赚项目] 分享一个刚需赚钱项目,可多重变现,月入好几个w
- Linux-Centos7防火墙配置