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的框架中一些会话程序的管理
Apr 20 Python
Python实现从URL地址提取文件名的方法
May 15 Python
pycharm中连接mysql数据库的步骤详解
May 02 Python
Python操作使用MySQL数据库的实例代码
May 25 Python
Python使用pymysql小技巧
Jun 04 Python
基于Django的ModelForm组件(详解)
Dec 07 Python
pip 安装库比较慢的解决方法(国内镜像)
Oct 06 Python
Python笔记之观察者模式
Nov 20 Python
python随机生成库faker库api实例详解
Nov 28 Python
Pytorch实现的手写数字mnist识别功能完整示例
Dec 13 Python
python和js交互调用的方法
Jun 23 Python
OpenCV+Python3.5 简易手势识别的实现
Dec 21 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
详解WordPress中添加友情链接的方法
2016/05/21 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
精通Javascript系列之Javascript基础篇
2011/06/07 Javascript
JavaScript获取onclick、onchange等事件值的代码
2013/07/22 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
基于Bootstrap的网页设计实例
2017/03/01 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
微信小程序实现移动端滑动分页效果(ajax)
2017/06/13 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
JS模拟实现哈希表及应用详解
2018/05/04 Javascript
微信小程序实现自定义modal弹窗封装的方法
2018/06/15 Javascript
Vue slot用法(小结)
2018/10/22 Javascript
JS实现的冒泡排序,快速排序,插入排序算法示例
2019/03/02 Javascript
一文搞懂ES6中的Map和Set
2019/05/20 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
Python语言的变量认识及操作方法
2018/02/11 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
悦木之源美国官网:Origins美国
2016/08/01 全球购物
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
安全生产中长期规划实施方案
2014/02/21 职场文书
高中课程设置方案
2014/05/28 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
陶瓷类经典广告语集锦
2019/10/25 职场文书
口袋妖怪冰系十大最强精灵,几何雪花排第七,第六类似北极熊
2022/03/18 日漫
Java 通过手写分布式雪花SnowFlake生成ID方法详解
2022/04/07 Java/Android