一、检测与处理重复值
1.去记录重复值---记录重复,即一个或者多个特征某几个记录的值完全相同
pandas.DataFrame(Series).drop_duplicates(self, subset=None, keep='first', inplace=False)
2.去特征重复值---特征重复,即一个或者多个特征名称不同,但数据几乎完全相同
(1)数值型特征:
利用特征间的相似度将两个相似度为1的特征去除一个。在pandas中相似度的计算方法为corr(相关性矩阵),使用该方法计算相似度时,默认为“pearson”法 ,可以通过“method”参数调节,目前还支持“spearman”法和“kendall”法。
(2)非数值型特征:
DataFrame.equals(other) 的方法进行特征去重。
二、处理缺失值
针对数值和非数值型数据都可以利用isnull或notnull找到缺失值,describe方法只能对这两类型数据分开处理。
1. 删除法
pandas中提供了简便的删除缺失值的方法dropna,该方法既可以删除观测记录,亦可以删除特征。
pandas.DataFrame.dropna(self, axis=0, how='any', thresh=None, subset=None, inplace=False)
2. 替换法
替换法是指用一个特定的值替换缺失值。
缺失值所在特征为数值型时,通常利用其均值、中位数和众数等描述其集中趋势的统计量来代替缺失值。缺失值所在特征为类别型时,则选择使用众数来替换缺失值。
pandas.DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)
接收特定string。backfill或bfill表示使用下一个非缺失值填补缺失值。pad或ffill表示使用上一个非缺失值填补缺失值。默认为None。
3. 插值法
三、检测与处理异常值
1.3σ原则
又称为拉依达法则。该法则就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得到标准差,然后按一定的概率确定一个区间,认为误差超过这个区间的就属于异常值。数据的数值分布几乎全部集中在区间(μ-3σ,μ+3σ)内,超出这个范围的数据仅占不到0.3%。故根据小概率原理,可以认为超出3σ的部分数据为异常数据。
2.箱线图分析
箱型图提供了识别异常值的一个标准,即异常值通常被定义为小于QL-1.5IQR或大于QU+1.5IQR的值。
QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小。
QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大。
IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半。

