Python中文
首页
教程
问答
标签
搜索
登录
注册
在满足某些条件的numpy数组中查找长度N的范围
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个表示测量曲线的数组。我在寻找第一个索引<code>i</code>,随后的<code>N</code>元素满足某些条件,例如位于特定边界内。在伪代码中,我在寻找最小的<code>i</code>,这样</p> <pre><code>lower_bound < measurement[i:i+N] < higher_bound </code></pre> <p>满足范围内所有元素的要求。在</p> <p>当然,我可以做以下事情:</p> ^{pr2}$ <p>这是非常低效的,因为我总是比较每个<code>i</code>的<code>N</code>值。 什么是最Python式的方法来实现这一点?Numpy有一些内置的功能来找到这个吗?在</p> <p><strong>编辑:</strong> 根据请求,我提供了一些示例输入数据</p> <pre><code>a = [1,2,3,4,5,5,6,7,8,5,4,5] lower_bound = 3.5 upper_bound = 5.5 N = 3 </code></pre> <p>应返回<code>3</code>,因为从<code>a[3]</code>开始,元素至少在3个值的范围内。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>如果M是a的长度,这里有一个O(M)解。在</p> <pre><code>locations=(lower_bound<a) & (a<upper_bound) cum=locations.cumsum() lengths=np.roll(cum,-N)-cum==N result=lengths.nonzero()[0][0]+1 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
无法使用Django/mongoengine连接到MongoDB(身份验证失败)
8 回答
无法使用Django\u mssql\u后端迁移到外部hos
8 回答
无法使用Django&Python3.4连接到MySql
1 回答
无法使用Django+nginx上载媒体文件
8 回答
无法使用Django1.6导入名称模式
7 回答
无法使用Django1.7和mongodb登录管理站点
4 回答
无法使用Djangoadmin创建项目,进程使用了错误的路径,因为我事先安装了错误的Python
4 回答
无法使用Djangockedi验证CBV中的字段
8 回答
无法使用Djangocketditor上载图像(错误400)
5 回答
无法使用Djangocron进行函数调用
1 回答
无法使用Djangofiler djang上载文件
3 回答
无法使用Djangokronos
3 回答
无法使用Djangomssql provid
3 回答
无法使用Djangomssql连接到带有Django 1.11的MS SQL Server 2016
1 回答
无法使用Djangomssq迁移Django数据库
3 回答
无法使用Djangonox创建用户
3 回答
无法使用Djangopyodb从Django查询SQL Server
4 回答
无法使用Djangopython3ldap连接到ldap
7 回答
无法使用Djangoredis连接到redis
4 回答
无法使用Django中的FK创建新表
9 回答