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 11 Python
简单解决Python文件中文编码问题
Nov 22 Python
Python聊天室实例程序分享
Jan 05 Python
Python使用爬虫猜密码
Feb 19 Python
Python中index()和seek()的用法(详解)
Apr 27 Python
基于python指定包的安装路径方法
Oct 27 Python
python基于Selenium的web自动化框架
Jul 14 Python
django 自定义filter 判断if var in list的例子
Aug 20 Python
Cython编译python为so 代码加密示例
Dec 23 Python
根据tensor的名字获取变量的值方式
Jan 04 Python
关于python3.9安装wordcloud出错的问题及解决办法
Nov 02 Python
python实现学生信息管理系统(面向对象)
Jun 05 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php实现简单文件下载的方法
2015/01/30 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
符合标准的js表单提交的代码
2007/09/13 Javascript
Prototype Hash对象 学习
2009/07/19 Javascript
jQuery源码分析-05异步队列 Deferred 使用介绍
2011/11/14 Javascript
javascript 判断中文字符长度的函数代码
2012/08/27 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
2014/06/10 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
require.js+vue开发微信上传图片组件
2016/10/27 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
微信小程序 五星评分的实现实例
2017/08/04 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
Vue基本指令实例图文讲解
2021/02/25 Vue.js
Python help()函数用法详解
2014/03/11 Python
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
python @classmethod 的使用场合详解
2019/08/23 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python 实现字符串下标的输出功能
2020/02/13 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
tensorflow模型转ncnn的操作方式
2020/05/25 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
2020/07/07 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
施华洛世奇波兰官网:SWAROVSKI波兰
2019/06/18 全球购物
Windows和Linux动态库应用异同
2016/07/28 面试题
2014年幼儿园园长工作总结
2014/12/17 职场文书
2015年市场部工作总结
2015/04/30 职场文书
卫生主题班会
2015/08/14 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书