数据清洗:
数据重复会导致数据的方差变小,使数据分布发生较大变化。数据缺失会导致样本信息减少,在分析过程中,数据存在缺失值不仅会增加数据分析的难度,而且会导致数据分析的结果产生偏差。数据分析过程中存在异常值则会造成数据“伪回归”。因此需要对数据进行检测,查询是否存在重复值、缺失值和异常值,并对数据进行适当的处理。
思维导图:
一、检测与处理重复值:
数据重复是数据分析经常面对的问题之一。对重复数据进行处理前,需要分析重复数据产生的原因以及去除这部分数据后可能造成的不良影响。常见的数据重复分为两种:
一种为记录重复,即一个或多个特征的某几条记录的值完全相同;
另一种为特征重复,即存在一个或多个特征名称不同,但数据完全相同的情况。
1.记录重复:
在用户下载意愿表中的是否愿意下载特征存放了用户对App的下载意愿。要查看用户下载意愿的类别数量,较简单的方法就是利用去重操作实现。
(1)方法一:
可以利用列表(list)去重(例):
(2)方法二:
可以利用集合(set)元素唯一的特性去重(例):
比较上述两种方法可以发现,代码(list)去重中的方法显得代码冗长,会影响数据分析的整体进度。代码(set)去重使用了集合元素唯一特性,代码简洁了许多,但是这种方法会导致数据的排列发生改变.
两种方法的对比结果如下所示:
鉴于以上方法的缺陷,pandas提供了一个名为drop duplicates 的去重方法,使用该方法进行去重不会改变数据原始排列,并且兼具代码简洁和运行稳定的特点。
drop_duplicates(方法的基本使用格式如下所示:
在使用 drop duplicates()方法去重时,当且仅当 subset参数中的特征重复时才会执行去重操作,在去重时可以选择保留哪一个特征,甚至可以不保留。
dropduplicatesO方法的常用参数及其说明如下所示: