Pandas||过滤缺失数据||pd.dropna()函数的用法说明


Posted in Python onMay 14, 2021

看代码吧~

DataFrame.dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)
Remove missing values.

pd.dropna()函数(官方文档)用于过滤数据中的缺失数据.

缺失数据在pandas中用NaN标记.

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randn(5, 3), index = list('abcde'), columns = ['one', 'two', 'three'])        # 随机产生5行3列的数据    
df.ix[1, :-1] = np.nan        # 将指定数据定义为缺失
df.ix[1:-1, 2] = np.nan
print(df)

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

df.dropna()   #删除所有带缺失数据的行

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

parameters 详解
axis default 0指行,1为列
how {‘any', ‘all'}, default ‘any'指带缺失值的所有行;'all'指清除全是缺失值的行
thresh int,保留含有int个非空值的行
subset 对特定的列进行缺失值删除处理
inplace 这个很常见,True表示就地更改

补充:Python-pandas的dropna()方法-丢弃含空值的行、列

0.摘要

dropna()方法,能够找到DataFrame类型数据的空值(缺失值),将空值所在的行/列删除后,将新的DataFrame作为返回值返回。

1.函数详解

函数形式:dropna(axis=0, how='any', thresh=None, subset=None, inplace=False)

参数:

axis:轴。0或'index',表示按行删除;1或'columns',表示按列删除。

how:筛选方式。‘any',表示该行/列只要有一个以上的空值,就删除该行/列;‘all',表示该行/列全部都为空值,就删除该行/列。

thresh:非空元素最低数量。int型,默认为None。如果该行/列中,非空元素数量小于这个值,就删除该行/列。

subset:子集。列表,元素为行或者列的索引。如果axis=0或者‘index',subset中元素为列的索引;如果axis=1或者‘column',subset中元素为行的索引。由subset限制的子区域,是判断是否删除该行/列的条件判断区域。

inplace:是否原地替换。布尔值,默认为False。如果为True,则在原DataFrame上进行操作,返回值为None。

2.示例

创建DataFrame数据:

import numpy as np
import pandas as pd
 
a = np.ones((11,10))
for i in range(len(a)):
    a[i,:i] = np.nan
 
d = pd.DataFrame(data=a)
print(d)

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

按行删除:存在空值,即删除该行

# 按行删除:存在空值,即删除该行
print(d.dropna(axis=0, how='any'))

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

按行删除:所有数据都为空值,即删除该行

#  按行删除:所有数据都为空值,即删除该行
print(d.dropna(axis=0, how='all'))

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

按列删除:该列非空元素小于5个的,即删除该列

# 按列删除:该列非空元素小于5个的,即删除该列
print(d.dropna(axis='columns', thresh=5))

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

设置子集:删除第0、5、6、7列都为空的行

# 设置子集:删除第0、5、6、7列都为空的行
print(d.dropna(axis='index', how='all', subset=[0,5,6,7]))

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

设置子集:删除第5、6、7行存在空值的列

# 设置子集:删除第5、6、7行存在空值的列
print(d.dropna(axis=1, how='any', subset=[5,6,7]))

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

原地修改

# 原地修改
print(d.dropna(axis=0, how='any', inplace=True))
print("==============================")
print(d)

Pandas||过滤缺失数据||pd.dropna()函数的用法说明

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python程序设计入门(4)模块和包
Jun 16 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
python实现图片上添加图片
Nov 26 Python
django框架单表操作之增删改实例分析
Dec 16 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
Feb 07 Python
Python实现对word文档添加密码去除密码的示例代码
Dec 29 Python
Python入门之基础语法详解
May 11 Python
常用的Python代码调试工具总结
Jun 23 Python
Python实现8种常用抽样方法
Jun 27 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
MATLAB 全景图切割及盒图显示的实现步骤
使用pandas或numpy处理数据中的空值(np.isnan()/pd.isnull())
May 14 #Python
PyQt5爬取12306车票信息程序的实现
python flask框架快速入门
如何将numpy二维数组中的np.nan值替换为指定的值
May 14 #Python
使用numpy nonzero 找出非0元素
May 14 #Python
You might like
PHP5中MVC结构学习
2006/10/09 PHP
PHP中如何调用webservice的实例参考
2013/04/25 PHP
php实现的数字验证码及数字运算验证码
2015/07/30 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
2016/06/22 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
删除重复数据的算法
2006/11/23 Javascript
测试JavaScript字符串处理性能的代码
2009/12/07 Javascript
通过jQuery打造支持汉字,拼音,英文快速定位查询的超级select插件
2010/06/18 Javascript
基于jQuery的试卷自动排版系统实现代码
2011/01/06 Javascript
Jquery和JS用外部变量获取Ajax返回的参数值的方法实例(超简单)
2013/06/17 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
javascript中全局对象的isNaN()方法使用介绍
2013/12/19 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
ES6正则的扩展实例详解
2017/04/25 Javascript
微信小程序开发之toast等弹框提示使用教程
2017/06/08 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
解决layui动态加载复选框无法选中的问题
2019/09/20 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
[04:53]DOTA2英雄基础教程 祈求者
2014/01/03 DOTA
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
python爬取m3u8连接的视频
2018/02/28 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
2019/07/08 Python
python搜索包的路径的实现方法
2019/07/19 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
红色连衣裙精品店:Red Dress Boutique
2018/08/11 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
店长岗位职责
2013/11/21 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
关于MySQL临时表为什么可以重名的问题
2022/03/22 MySQL