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

如何按指定区间分割数组并提取对应区间内的元素?

从NumPy数组中提取指定区间内的元素

给定一个NumPy数组,需要从中提取出落在多个指定区间内的元素,示例如下:

输入代码

import numpy as np

x = np.linspace(0,10,51)
intervals = [[2, 2.5], [8.1, 9]]

期望输出

[[2, 2.2, 2.4], [8.2, 8.4, 8.6, 8.8]]

解决方案

可以通过列表推导式结合NumPy的布尔索引实现需求:遍历每个区间,生成布尔掩码筛选符合条件的元素,最后转换为普通列表即可。

实现代码:

import numpy as np

x = np.linspace(0,10,51)
intervals = [[2, 2.5], [8.1, 9]]

# 遍历区间筛选元素并转为列表
result = [x[(x >= low) & (x <= high)].tolist() for low, high in intervals]
print(result)

说明

  • (x >= low) & (x <= high):生成布尔数组,标记数组x中每个元素是否处于当前区间内
  • x[布尔数组]:通过布尔索引提取符合条件的元素
  • .tolist():将NumPy数组转换为普通Python列表,得到嵌套列表格式的结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 23:22:38