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的dataframe转换为多维矩阵的方法
Apr 11 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
widows下安装pycurl并利用pycurl请求https地址的方法
Oct 15 Python
pycharm的console输入实现换行的方法
Jan 16 Python
Python多进程fork()函数详解
Feb 22 Python
python 将dicom图片转换成jpg图片的实例
Jan 13 Python
python3 deque 双向队列创建与使用方法分析
Mar 24 Python
Python中如何添加自定义模块
Jun 09 Python
keras实现调用自己训练的模型,并去掉全连接层
Jun 09 Python
Python使用socket模块实现简单tcp通信
Aug 18 Python
python 实现端口扫描工具
Dec 18 Python
分享7个 Python 实战项目练习
Mar 03 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
Oracle 常见问题解答
2006/10/09 PHP
php使用百度翻译api示例分享
2014/01/31 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
PHP7 echo和print语句实例用法
2019/02/15 PHP
EXTJS记事本 当CompositeField遇上RowEditor
2011/07/31 Javascript
Js sort排序使用方法
2011/10/17 Javascript
JavaScript获取Url里的参数
2014/12/18 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
jQuery+JSON实现AJAX二级联动实例分析
2015/12/18 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
javascript遍历json对象的key和任意js对象属性实例
2017/03/09 Javascript
vue.js数据绑定的方法(单向、双向和一次性绑定)
2017/07/13 Javascript
vuejs使用递归组件实现树形目录的方法
2017/09/30 Javascript
Vue.js组件使用props传递数据的方法
2019/10/19 Javascript
BootstrapValidator实现表单验证功能
2019/11/08 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
21行Python代码实现拼写检查器
2016/01/25 Python
Python保存MongoDB上的文件到本地的方法
2016/03/16 Python
Python装饰器知识点补充
2018/05/28 Python
Python 修改列表中的元素方法
2018/06/26 Python
PowerBI和Python关于数据分析的对比
2019/07/11 Python
Python 共享变量加锁、释放详解
2019/08/28 Python
关于Numpy中的行向量和列向量详解
2019/11/30 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
css3绘制天猫logo实现代码
2012/11/06 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
淘宝活动策划方案
2014/02/06 职场文书
观后感格式
2015/06/19 职场文书
六一亲子活动感想
2015/08/07 职场文书
CSS3新特性详解(五):多列columns column-count和flex布局
2021/04/30 HTML / CSS
Python 用户输入和while循环的操作
2021/05/23 Python
Pygame Event事件模块的详细示例
2021/11/17 Python
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA