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将多个文本文件合并为一个文本的代码(便于搜索)
Mar 13 Python
使用Python编写Linux系统守护进程实例
Feb 03 Python
一波神奇的Python语句、函数与方法的使用技巧总结
Dec 08 Python
使用python实现rsa算法代码
Feb 17 Python
Atom的python插件和常用插件说明
Jul 08 Python
python中for循环把字符串或者字典添加到列表的方法
Jul 20 Python
详解PyTorch手写数字识别(MNIST数据集)
Aug 16 Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 Python
基于matplotlib xticks用法详解
Apr 16 Python
Django实现图片上传功能步骤解析
Apr 22 Python
python实现简单的五子棋游戏
Sep 01 Python
利用python进行文件操作
Dec 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下几种删除目录的方法总结
2007/08/19 PHP
php 短链接算法收集与分析
2011/12/30 PHP
用来解析.htpasswd文件的PHP类
2012/09/05 PHP
php ci框架验证码实例分析
2013/06/26 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
php ckeditor上传图片文件名乱码解决方法
2013/11/15 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
PHP使用xpath解析XML的方法详解
2017/05/20 PHP
PHP实现图片压缩
2020/09/09 PHP
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
2014/02/13 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
2017/01/13 Javascript
jQuery异步提交表单实例
2017/05/30 jQuery
详解vue过滤器在v2.0版本用法
2017/06/01 Javascript
angular2 ng build部署后base文件路径问题详细解答
2017/07/15 Javascript
使用puppeteer爬取网站并抓出404无效链接
2018/12/20 Javascript
傻瓜式vuex语法糖kiss-vuex整理
2018/12/21 Javascript
JavaScript实现身份证验证代码实例
2019/08/26 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
用Python实现读写锁的示例代码
2018/11/05 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
pyspark对Mysql数据库进行读写的实现
2020/12/30 Python
苹果Mac升级:MacSales.com
2017/11/20 全球购物
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
ECHT官方网站:男女健身服
2020/02/14 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
工厂厂长岗位职责
2013/11/08 职场文书
会计专业应届生自荐信
2014/02/07 职场文书
2015年春节标语口号
2014/12/09 职场文书
自荐信范文
2019/05/20 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android