
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.3 异常值的处理
异常值也被称为离群点,就是那些远离绝大多数样本点的特殊群体,通常这样的数据点在数据集中都表现出不合理的特性。如果忽视这些异常值,在某些建模场景下就会导致结论出现错误。
4.3.1 Excel异常值的处理
在Excel中处理异常值的方法主要有:删除含有异常值的记录、将异常值视为缺失值、用平均数来修正等,如何判定和处理异常值,需要结合业务实际进行操作。
4.3.2 Python异常值的检测
在介绍使用Pandas库处理异常值之前,先创建一个4名学生学习成绩的数据集,代码如下:

运行上述代码,创建的数据集如下所示。

由于学生的考试成绩是百分制,因此超过100分的就可以认为是异常值。例如,查找赵六考试成绩中的异常数据,代码如下:

代码输出结果如下所示。

还可以查找所有人中不符合条件的成绩有1个及1个以上的记录,代码如下:

代码输出结果如下所示。

4.3.3 使用replace()函数处理异常值
可以使用replace()函数替换异常值。例如,使用NaN替换0,代码如下:

代码输出结果如下所示。

如果希望一次替换多个值,则可以设置一个由需要替换的数值组成的列表及一个替换值。例如,使用NaN替换0、105和108,代码如下:

代码输出结果如下所示。

还可以传入一个替换列表让每个数据有不同的替换值。例如,使用NaN替换0,使用100替换105和108,代码如下:

代码输出结果如下所示。

传入的参数也可以是字典,0可能是学生请假缺考导致的,代码如下:

代码输出结果如下所示。
