约定:

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滤除缺失数据相关推荐

  1. python pandas dropna_Pandas之Dropna滤除缺失数据的实现方法

    约定: import pandas as pd import numpy as np from numpy import nan as NaN 滤除缺失数据 pandas的设计目标之一就是使得处理缺失 ...

  2. .Dropna()滤除缺失数据||空字符串处理

    滤除缺失数据 DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False) Remove missing v ...

  3. Python全栈开发-数据分析-02 Pandas详解 (上)

    Pandas详解 (上) 一. 安装pandas 1.按Win+R,输入CMD确定, 输入 pip install pandas 回车 还要安装xlrd,否则你打不开Excel文件 pip insta ...

  4. Python全栈开发-数据分析-03 Pandas详解 (中)

    Pandas详解 (中) 一. 处理缺失值 1.1 drop函数:删除行,删除列 1.删除某列或某行数据可以用到pandas提供的方法drop 2.drop方法的用法: drop(labels, ax ...

  5. Python全栈开发-数据分析-03 Pandas详解 (下)

    Pandas详解 (下) 一. Excel文件的拆分与合并 1.1 一个文件夹下多个工作簿的合并[单独Sheet] 思路: 1,把文件夹下面所有的文件都遍历出来 2.循环读取每个文件 (1)第一次读取 ...

  6. Linux内核Thermal框架详解十二、Thermal Governor(2)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  7. 元宇宙技术普及读本重磅问世 详解十大技术 把脉数字经济 前瞻产业布局

    转自 元宇宙共识圈 王恩东.倪光南.沈昌祥.郑纬民--四位中国工程院院士联袂力荐 倪健中.姚前.李正茂.朱嘉明.肖风.敖然等权威专家一致推荐 汇聚元宇宙技术专家及产业一线佼佼者倾力撰写 元宇宙技术普及 ...

  8. python的dropna 和notna的性能_python轻松滤除缺失数据

    前言 缺失数据(missing data)在大部分数据分析应用中都很常见.Pandas的设计目标之一就是让缺失数据的处理任务尽量轻松. Pandas使用浮点值NAN(not a number)表示浮点 ...

  9. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解

    负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...

最新文章

  1. SpringMVC学习手册(三)------EL和JSTL(上)
  2. BZOJ-2618-凸多边形-CQOI2006
  3. linux技术理解,技术|理解 Linux 链接(二)
  4. 使用Xcode 7 beta免费真机调试iOS应用程序
  5. python tensorflow 智能家居_TensorFlow平台下的视频目标跟踪深度学习模型设计
  6. Angular Material 攻略 04 Icon
  7. OpenCv学习笔记(二)—cv Mat学习
  8. fedora python3-mysql_centos 下安装python3 的MySQLdb
  9. JAVA基础知识点总结
  10. 四步成为人工智能产品经理
  11. 3D动画展示--3D图片旋转展示
  12. 苹果计算机音频无法使用,苹果电脑没声音了怎么回事
  13. ue4 从小到大_UE4 Pak 相关知识总结
  14. Cannot create symlink/symbolic to `xxx': Operation not supported
  15. 计算机软件水平考试什么题型,计算机软考考什么内容
  16. 关于鼠标右键的快捷键
  17. 基于微信JAVA后台校园小程序系统设计与实现 开题报告
  18. 2020年全球EDA软件行业市场竞争格局分析 三巨头三足鼎立
  19. 一个简单木马分析及接管利用
  20. 电商零售:到底走线上还是线下?

热门文章

  1. 2094 找出 3 位偶数
  2. 解决一个JAVA小问题
  3. AVPro Movie Capture☀️一、一款U3D录屏插件介绍
  4. 通过宝塔面板部署.NET项目(安装环境=>前后端部署)
  5. Access数据库常用函数大全
  6. brpc源码解析(二)—— brpc收到请求的处理过程
  7. EOS智能合约开发系列(18): 狼人杀游戏的`eosio.code`
  8. 汇编相对基址变址寻址方式的使用
  9. [网赚项目] 分享一个刚需赚钱项目,可多重变现,月入好几个w
  10. Linux-Centos7防火墙配置