查找一维向量中大于或小于某一值的所有连续片段

文章目录

经常会遇到一种场景,那就是有一个一维向量,我们要找到其中所有大于设定阈值的片段。就好比电路中有高代电平,我们要找连续的高电平段或低电平:
在这里插入图片描述

如上图,我们只要标红的高电平,对应代码:

import numpy as np

def extract_segments(v, a):
    """v是向量,a是我们设定的阈值

    Args:
        v (_type_): _description_
        a (_type_): _description_

    Returns:
        _type_: _description_
    """
    segments = []
    current_segment = []
    for i in range(len(v)):
        if v[i] > a:
            current_segment.append(v[i])
        else:
            if len(current_segment) > 0:
                segments.append(current_segment)
                current_segment = []
    if len(current_segment) > 0:
        segments.append(current_segment)
    return segments

测试结果:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值