• python处理孤立的异常点


    假设有一个列表,a = [61, 40, 70, 80, 86, 50, 88, 33, 76, 64],保存的是设备的状态值随时间的变化,超过60即为异常,但是对于孤立的异常点,我们需要将其忽略,只有连续的异常点才认为是真正的异常,需要统计异常的次数(当然也可以有其他的操作,删除孤立的异常点等等)。

    处理的代码如下:

    def get_above_threshold_num(device_status, threshold):
        if not isinstance(device_status, list) or not isinstance(threshold, int):
            return
        num = 0
        count = len(device_status)
        for index, value in enumerate(device_status):
            if value >= threshold:
                if (0 <= index - 1 < count and device_status[index - 1] >= threshold) or (0 <= index + 1 < count and device_status[index + 1] >= threshold):
                    num += 1
        return num
    
    
    if __name__ == "__main__":
        a = [61, 40, 70, 80, 86, 50, 88, 33, 76, 64]
        b = get_above_threshold_num(a, 80)
        print(b)

    思路即就是遍历列表中的元素,如果大于等于阈值,则找到它的前一个元素和后一个元素,只要有一个元素是大于等于阈值的,则进行统计。

  • 相关阅读:
    vue语法 `${ }` (模版字符串)
    Apache HttpClient工具类
    JS —— 数组去重
    HTML5——新增的API
    HTML5——新特性
    HTML5——Svg
    HTML5——多媒体(Audio音频、Video视频)
    CSS3——transform
    CSS3——animation中的属性--steps
    CSS3——动画transition、animation
  • 原文地址:https://www.cnblogs.com/lucky-heng/p/11191861.html
Copyright © 2020-2023  润新知