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多线程下载文件的方法
Jul 10 Python
Python二分查找详解
Sep 13 Python
python通过elixir包操作mysql数据库实例代码
Jan 31 Python
Python通过调用mysql存储过程实现更新数据功能示例
Apr 03 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
Python 线程池用法简单示例
Oct 02 Python
利用python控制Autocad:pyautocad方式
Jun 01 Python
Django日志及中间件模块应用案例
Sep 10 Python
如何一键升级Python所有包
Nov 05 Python
python 实现学生信息管理系统的示例
Nov 28 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
php中文件上传的安全问题
2006/10/09 PHP
PHP中防止SQL注入实现代码
2011/02/19 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
PHP判断手机是IOS还是Android
2015/12/09 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
2017/08/04 PHP
YII2框架中使用RBAC对模块,控制器,方法的权限控制及规则的使用示例
2020/03/18 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
jQuery 顺便学习下CSS选择器 奇偶匹配nth-child(even)
2010/05/24 Javascript
Asp.net下使用Jquery Ajax传送和接收DataTable的代码
2010/09/12 Javascript
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
前端js实现文件的断点续传 后端PHP文件接收
2016/10/14 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
Javascript中return的使用与闭包详解
2017/01/11 Javascript
基于ajax和jsonp的原生封装(实例)
2017/10/16 Javascript
利用Vue2.x开发实现JSON树的方法
2018/01/04 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
js动态引入的四种方法
2018/05/05 Javascript
js实现div色块拖动录制
2020/01/16 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
Vue.js使用axios动态获取response里的data数据操作
2020/09/08 Javascript
python处理大数字的方法
2015/05/27 Python
Python判断Abundant Number的方法
2015/06/15 Python
Django 2.0版本的新特性抢先看!
2018/01/05 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python得到windows自启动列表的方法
2018/10/14 Python
python计算n的阶乘的方法代码
2019/10/25 Python
Python中类似于jquery的pyquery库用法分析
2019/12/02 Python
Python之Sklearn使用入门教程
2021/02/19 Python
python如何发送带有附件、正文为HTML的邮件
2021/02/27 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
信电学院毕业生自荐书
2014/05/24 职场文书
go原生库的中bytes.Buffer用法
2021/04/25 Golang
mysql主从复制的实现步骤
2021/10/24 MySQL