python处理孤立的异常点
2024-09-06 02:46:41
假设有一个列表,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)
思路即就是遍历列表中的元素,如果大于等于阈值,则找到它的前一个元素和后一个元素,只要有一个元素是大于等于阈值的,则进行统计。
最新文章
- 移动信息化不能延续PC时代的痛
- 机器学习理论知识部分--偏差方差平衡(bias-variance tradeoff)
- C# 4.0 之线程安全集合篇
- thinkpad e450 win7黑苹果macos 10.10.5(网/显/声卡驱动)安装成功
- Linux 下zip包的压缩与解压
- hdu 1106:排序(水题,字符串处理 + 排序)
- G面经prepare: set difference
- BackgroundWorker的使用方法
- php生成图片
- hadoop命令行命令
- MVVM模式的一个小例子
- Codeforces 622B The Time 【水题】
- 关于SOQL(一)
- Servlet实例解说
- Sql Server的艺术(一) 视图的增删查改
- Java由先序序列和中序序列还原二叉树
- 一款C++写的tcp性能测试(压力测试)工具
- 【面向对象设计原则】之开闭原则(OCP)
- Rancher学习笔记-----1.分享链接
- Hyperic-Sigar简介——检测与监控
热门文章
- MySQL 同一Windows系统上安装多个数据库
- 解决vue+springboot前后端分离项目,前端跨域访问sessionID不一致导致的session为null问题
- Java学习笔记(3)--- 内部类,基本数据类型
- Ubuntu18.04连接蓝牙耳机
- itest(爱测试) 3.3.7 发布,开源BUG 跟踪管理&; 敏捷测试管理软件
- easyui权限
- react解析markdown文件
- 学习51cto中美团中的小知识点--组件实现按需求加载
- Class的使用,构造方法,实例属性和实例方法,静态属性和静态方法,this和super关键字,类的继承
- Java并发编程核心知识体系精讲