pandas里怎样处理缺失值为NaN的情况?
Admin 2021-08-21 群英技术资讯 1093 次浏览
pandas里怎样处理缺失值为NaN的情况?Python中我们用pandas处理数据非常的方便,但是也常会遇到一些问题。例如andas中NaN缺失值的情况,一些新手朋友可能不太清楚怎样解决,下面给大家分享两种处理pandas中NaN缺失值的方法,有需要的朋友可以参考。
import pandas as pd
两种方法:
先判断数据中是否存在NaN,通过下面两个方法中任意一个
pd.isnull(dataframe) # dataframe为数据 如果数据中存在NaN返回True,如果没有就返回False pd.notnull(dataframe) 该方法与isnull相反 any() 和 all() """ pd.isnull(dataframe).any() 判断哪一个字段中存在缺失值没有就返回False pd.notnull(dataframe).all() 判断哪一个字段中存在缺失值没有就返回True """
使用numpy也可以进行判断
import numpy as np np.any(pd.isnull(dataframe)) # 如果返回True,说明数据中存在缺失值 np.all(pd.notnull(dataframe)) # 如果返回False, 说明数据中存在缺失值
然后进行数据处理
方式一: 删除空值行
dataframe.dropna(inplace=False) """ dropna() 是删除空值数据的方法, 默认将只要含有NaN的整行数据删除, 如果想要删除整行都是空值的数据需要添加how='all'参数 默认是删除整行, 如果对列做删除操作, 需要添加axis参数, axis=1表示删除列, axis=0表示删除行 inplace: 是否在当前的dataframe中执行此操作, True表示在原来的基础上修改, False表示返回一个新的值, 不修改原有数据 """
方式二: 替换/插补
dataframe.fillna('替换的值value',inplace=False)
'''
把替换NaN的值传入到fillna()中
'''
比如有的空值不是NaN, 有的是一个'?'
先替换
使用numpy把"?"替换为NaN
import numpy as np # 替换 dataframe.replace(to_replace="?", value=np.nan)
把其他的缺失值换为NaN后, 然后就按照缺失值为NaN的方式就行操作
如果只是单独的删除数据可以使用drop()方法
DataFrame.drop(labels=None,axis=0, index=None, columns=None, inplace=False) ''' 代码解释: labels : 就是要删除的行列的名字,用列表指定 index : 直接指定要删除的行 columns : 直接指定要删除的列 inplace=False : 表示返回一个新的值, 不修改原有数据 inplace=True : 表示在原来的基础上修改 '''
例:
import pandas as pd
df = pd.read_csv('/text.xlsx')
# 删除第0行和第1行
df.drop(labels=[0,1],axis=0)
# 删除列名为 age 的列
df.drop(axis=1,columns=age)
关于pandas中处理NaN缺失值的方法就介绍到这,上述实例具有一定的参考价值,感兴趣的朋友可以参考学习,希望能对大家有帮助,想要了解更多pandas 处理缺失值的内容,大家可以关注其他文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要介绍了解决pytorch下只打印tensor的数值不打印出device等信息的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
小伙伴们日常工作中都必不可少地使用Python实现一些简单的功能,但是不同的人所编写的代码执行效率往往是不同的,下面这篇文章主要给大家介绍了4个Python中高效的技巧,需要的朋友可以参考下
如果一个函数,可以自己调用自己,那么这个函数就是一个递归函数。本文将详细讲解Python中递归函数的使用与原理,感兴趣的可以了解一下
树表查询即借助具有特殊性质的树数据结构进行关键字查找,本文所涉及到的特殊结构性质的树包括:二叉排序树、平衡二叉树。文中详细介绍了二者的实现代码,需要的可以参考一下
一个APP对应一个默认数据库,若连接其他数据库用".using()"Author.objects.using('db02').all()1、在项目settings中增加数据库配置# settings.py DATABASES = { 'default':
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008