首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在numpy数组中查找满足条件的大量连续值

在numpy数组中查找满足条件的大量连续值
EN

Stack Overflow用户
提问于 2010-12-21 06:02:06
回答 8查看 14.1K关注 0票数 24

我有一些加载到numpy数组中的音频数据,我希望通过查找静默部分来分割数据,即音频幅度在一段时间内低于某个阈值的部分。

一种非常简单的方法是这样的:

代码语言:javascript
复制
values = ''.join(("1" if (abs(x) < SILENCE_THRESHOLD) else "0" for x in samples))
pattern = re.compile('1{%d,}'%int(MIN_SILENCE))                                                                           
for match in pattern.finditer(values):
   # code goes here

上面的代码查找至少有MIN_SILENCE个连续元素小于SILENCE_THRESHOLD的部分。

现在,很明显,上面的代码效率非常低,并且是对正则表达式的严重滥用。有没有其他更有效的方法,但仍然可以得到同样简单和简短的代码?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4494404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档