欢迎来到天天文库
浏览记录
ID:57891387
大小:824.84 KB
页数:14页
时间:2020-09-02
《Pandas中的缺失值处理.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、相信大家在处理数据的时候经常会发现有一些数据的缺失这个时候便会很头大因为有时候的缺失的数据是本来就没有的这些数据不管就好了有的数据虽然没有但是也可以根据一些数据推算出来这个数据是多少然后给它填上但是有的数据缺失是随机缺失的完全不知道应该怎么处理所以呢今天我就带大家了解一下数据中的缺失值以及如何对缺失值进行处理。1.读取数据相信大家在使用python读取数据的时候会出现这种报错的情况。这种情况是因为文件名中有中文遇到这种情况第一种方式就是讲文件名改为英文或者这样处理可以。先使用open打开然后赋值给变量然后关闭掉文件使用被赋值的变量
2、就可以了。二、处理缺失值1、什么是缺失值俗话说知己知彼百战百胜在处理缺失值之前我们首先要了解一下什么是缺失值?直观上理解,缺失值表示的是“缺失的数据”。可以思考一个问题:是什么原因造成的缺失值呢?其实有很多原因,实际生活中可能由于有的数据不全所以导致数据缺失,也有可能由于误操作导致数据缺失,又或者人为地造成数据缺失但是主要的还是分为机械原因和人为原因。机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段时间数据未能收集(对于定时数据采集而言)。人为原因是由于人的主观失误、
3、历史局限或有意隐瞒造成的数据缺失,比如,在市场调查中被访人拒绝透露相关问题的答案,或者回答的问题是无效的,数据录入人员失误漏录了数据缺失值从缺失的分布来讲可以分为完全随机缺失,随机缺失和完全非随机缺失。·完全随机缺失(missingcompletelyatrandom,MCAR)指的是数据的缺失是随机的,数据的缺失不依赖于任何不完全变量或完全变量。·随机缺失(missingatrandom,MAR)指的是数据的缺失不是完全随机的,即该类数据的缺失依赖于其他完全变量。·完全非随机缺失(missingnotatrandom,MNAR)
4、指的是数据的缺失依赖于不完全变量自身。缺失值从缺失值的所属属性来讲可以分为单值缺失,任意缺失和单调缺失。·单值缺失:如果所有的缺失值都是同一属性,那么这种缺失成为单值缺失。·任意缺失:如果缺失值属于不同的属性,称为任意缺失。·单调缺失:对于时间序列类的数据,可能存在随着时间的缺失,这种缺失称为单调缺失在Python中缺失值被认为是None、np.nan、NaT的形式。原理性的东西我们就说这么多下面我们进入代码部门首先我们人为的造成一些数据的缺失然后我们生成一列英雄们的生日的数据列查看数据表的信息。2、转换数据列的类型这个时候我们通
5、过info()方法发现生日列的类型是obxxxxject的需要将生日列的类型通过to_datetime()转换为日期型3、掩码提取空值首先使用isnull()或者notnull()来查看是否缺失Isnull()是将缺失值判断为True非缺失值判断为FalseNotnull()将缺失值判断为False非缺失值判断为True·将有空值的行提取出来·反之将非空行的数据提取出来1.掩码的其他用处4.1、将不是地球的英雄提取出来·首先将那个星球的列名改为星球·然后将外星球的英雄提取出来。4.2、将1980年之后出生的英雄提取出来4.3、将1
6、988年1月1号之前出生的英雄提取出来5、丢弃缺失值既然在数据中有缺失值了,常见的一种处理办法就是丢弃缺失值。使用dropna方法可以丢弃缺失值。user_info.dropna(axis=0how='any'thresh=Nonesubset=Noneinplace=False)seriese使用dropna比较简单,对于Datafrxxxxame来说可以设置更多的参数。axis参数用于控制行或列,跟其他不一样的是,axis=0(默认)表示操作行,axis=1表示操作列。how参数可选的值为any(默认)或者all。any表示一
7、行/列有任意元素为空时即丢弃,all一行/列所有值都为空时才丢弃。subset参数表示删除时只考虑的索引或列名。thresh参数的类型为整数,它的作用是,比如thresh=3,会在一行/列中至少有3个非空值时将其保留。·一列数据中只要存在一个空值就删除掉从结果可以看出身高列和城市列都存在空值这样就被删除掉了。·一行数据中只要城市和性别出现空值就删除掉从结果可以看出钢铁侠、索尔因为身高出现空值而被删除这一行的数据奇异博士因为城市出现空值而被删除一行的数据灭霸是年龄出现了空值但是年龄这一列并未做为删除的条件所以没有被删除掉数据。三、填
8、充缺失值除了可以丢弃缺失值外也可以填充缺失值最常见的是使用fillna完成填充。Fillna这个名字一看就是用来填充缺失值得嘛。1、固定值填充填充缺失值时常见的一种方式是使用一个标量来填充。比如我们可以将缺失的年龄都填充为0。·将英雄们的身高填充为
此文档下载收益归作者所有