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深入学习之特殊方法与多范式
Aug 31 Python
教大家玩转Python字符串处理的七种技巧
Mar 31 Python
Django自定义用户认证示例详解
Mar 14 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 Python
ERLANG和PYTHON互通实现过程详解
Jul 05 Python
Django 缓存配置Redis使用详解
Jul 23 Python
Python Collatz序列实现过程解析
Oct 12 Python
python yield关键词案例测试
Oct 15 Python
python不同系统中打开方法
Jun 23 Python
利用Python过滤相似文本的简单方法示例
Feb 03 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
Mar 04 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字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
PHP中使用gettext来支持多语言的方法
2011/05/02 PHP
解析PHP 5.5 新特性
2013/07/02 PHP
php使用类继承解决代码重复的问题
2015/02/11 PHP
php 判断过去离现在几年的函数(实例代码)
2016/11/15 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
2017/04/05 PHP
PHP7 新增功能
2021/03/09 PHP
索趣科技的答案
2007/02/07 Javascript
javascript OFFICE控件测试代码
2009/12/08 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
JQuyer $.post 与 $.ajax 访问WCF ajax service 时的问题需要注意的地方
2011/09/20 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
javascript实现的元素拖动函数宿主为浏览器
2014/07/21 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
js中for in语句的用法讲解
2015/04/24 Javascript
js+canvas简单绘制圆圈的方法
2016/01/28 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Bootstrap 手风琴菜单的实现代码
2017/01/20 Javascript
浅谈Node模块系统及其模式
2017/11/17 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
解决vue+elementui项目打包后样式变化问题
2020/08/03 Javascript
python 数据加密代码
2008/12/24 Python
跟老齐学Python之dict()的操作方法
2014/09/24 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Win8下python3.5.1安装教程
2020/07/29 Python
浅谈python的深浅拷贝以及fromkeys的用法
2019/03/08 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
Python Django 前后端分离 API的方法
2019/08/28 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
草莓巧克力:Shari’s Berries
2017/02/07 全球购物
在职党员进社区活动总结
2014/07/05 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
最美家庭活动方案
2014/08/31 职场文书
2015年公司新年寄语
2014/12/08 职场文书
餐厅开业活动方案
2019/07/08 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python