筛选异常值

题目:


要求从一堆零件中找出存在异常的零件。
比如第7行的27明显比其他值小很多,而第10行的3792明显比其他值大很多,都属于异常值。

解法:

要找出异常值,首先得定义异常的条件,异常到什么程度才能算作"异常"?
根据百度百科词条,在统计学中通常把与样本平均值相差2个标准差以上的值称为异常值,而高于3个标准差的值则为高度异常的异常值。

所以要找出异常值,逻辑很简单,首先要求出所有零件尺寸的平均值以及标准差,然后筛选出表中尺寸与平均值相减的绝对值大于2*标准差的所有行。
代码为:

let
    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
    标准差 = List.StandardDeviation(源[尺寸]),
    平均值 = List.Average(源[尺寸]),
    异常值 = Table.SelectRows(源,each Number.Abs([尺寸]-平均值)>(2*标准差))
in
    异常值

这是筛选出异常值,如要剔除异常值将筛选条件中的>修改为<=即可,将系数2修改为3筛选出的就是高度异常的异常值。

附件

5 Replies to “筛选异常值”

    1. 最近比较忙。。。然后该发的套路也发的差不多了,也没碰到什么新的好的题目,只要有好的问题会持续更新的

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注