You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Numpy快速定位数组多段收敛-发散区间的起止及精准点索引

需求说明

我有一批numpy浮点数组,需要完成以下高效处理:

单区间数组规则

数组元素会呈现先收敛至指定值,随后发散的趋势:

  • 升序数组示例:
[..., 50.0, 51.0, 52.2, ..., 59.3, 60.4, 61.3, 62.1, ..., 67.9, 68.1, 69.2, ...]

定义范围边界:start=52.0、exact=60.0、end=68.0,需找到数组中最接近这三个值的元素对应的索引——上述示例中,52.2对应start索引,60.4对应exact索引,67.9对应end索引。

  • 降序数组示例:
[..., 69.2, 68.1, 67.9, ..., 62.1, 61.3, 60.4, 59.3, ..., 52.2, 51.0, 50.0, ...]

此时规则适配为:67.9对应start索引,60.4对应exact索引,52.2对应end索引。

多区间数组规则

实际数组可能包含多段收敛-发散区间,示例如下:

[..., 52.2, ..., 60.4, ..., 67.9, ..., 52.4, ..., 60.0, ..., 67.7, ..., 52.0, ..., 60.6, ..., 67.3, ...]

需要返回每个区间的索引组成的列表,格式如下:

[
    [start0, exact0, end0],
    [start1, exact1, end1],
    [start2, exact2, end2],
]

不同数组的区间数量可能为0、1或多个。

性能要求

由于要处理大量数组,循环实现效率极低,需提供基于numpy的向量化实现方案。

内容的提问来源于stack exchange,提问作者astroboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:42:12