如何基于二维数组x、y的条件筛选二维数组data的元素?
解决方法
你已经通过np.where()获取到符合条件的索引元组,直接将其作为下标传入data即可提取对应元素:
# 提取符合条件的data元素 filtered_data = data[indices]
补充:更简洁的布尔索引方式
其实不需要先调用np.where(),直接用布尔掩码也能实现筛选,代码更简洁:
# 创建布尔掩码,对应满足条件的位置为True mask = (x >= -20) & (x <= 20) & (y >= 35) & (y <= 60) # 提取符合条件的元素 filtered_data = data[mask]
两种方法最终得到的filtered_data都是一维数组,包含所有满足x∈[-20,20]且y∈[35,60]的data元素。
内容的提问来源于stack exchange,提问作者len
相关产品推荐
相关产品推荐

