Python中提取np.array数组内5到10之间元素的三种实现方法
三种提取Numpy数组指定范围元素的实现方式
首先导入依赖并定义目标数组:
import numpy as np a = np.array([2, 6, 1, 9, 10, 3, 27])
方法1:使用&运算符的布尔索引
通过逐元素判断构造两个布尔序列,用&做逐元素与运算得到筛选掩码,直接用掩码索引数组。注意每个判断条件必须加小括号,避免因运算符优先级问题报错。
# 构造筛选掩码后提取元素 result1 = a[(a >= 5) & (a <= 10)] print(result1) # 输出:[ 6 9 10]
方法2:使用np.logical_and()函数
np.logical_and()是numpy内置的逐元素逻辑与函数,直接传入两个判断条件即可生成筛选掩码,不需要额外处理运算符优先级。
result2 = a[np.logical_and(a >= 5, a <= 10)] print(result2) # 输出:[ 6 9 10]
方法3:使用np.where()定位下标后提取
np.where()会返回满足条件的元素下标数组,通过下标索引即可拿到对应元素。
# 先获取符合条件的元素下标 match_index = np.where((a >= 5) & (a <= 10)) result3 = a[match_index] print(result3) # 输出:[ 6 9 10]
内容的提问来源于stack exchange,提问作者Marina
相关产品推荐
相关产品推荐

