np.where多个筛选条件

a = 0,1,2,3,4,5

想要筛选出"大于等于2并且小于等于4"的数字下标,首先尝试了如下写法

python 复制代码
import numpy as np
a = np.arange(6)
print(np.where(a>=2 & a<=4))

程序会报错

bash 复制代码
Traceback (most recent call last):
  File "C:\Program Files\JetBrains\PyCharm Community Edition 2023.2.3\plugins\python-ce\helpers\pydev\pydevconsole.py", line 364, in runcode
    coro = func()
  File "<input>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

正确写法是

python 复制代码
import numpy as np
a = np.arange(6)
print(np.where((a>=2) & (a<=4)))

给每个条件加上括号即可。

还有另外一种写法,使用np.logical_and来实现。

python 复制代码
import numpy as np
a = np.arange(6)
print(np.where(np.logical_and(a>=2, a<=4)))
相关推荐
嗝o゚13 小时前
CANN asnumpy 库——昇腾 NPU 原生 NumPy 兼容层
人工智能·numpy·cann·asnumpy
bloxed16 小时前
【AI大模型--NumPy-07】高级线性代数完全指南
人工智能·线性代数·numpy
charlee441 天前
《GIS基础原理与技术实践》配套案例(Python版)
python·conda·numpy·gis·环境配置
fengchengwu20121 天前
NumPy 数组常用函数手册:从入门到进阶
numpy
威尔逊·柏斯科·希伯理2 天前
机器学习第一天(共12天)
人工智能·python·机器学习·conda·numpy·pandas·matplotlib
杭州的平湖秋月2 天前
Numpy 的基础索引、高级索引、布尔索引和 take_along_axis
python·numpy·高级索引
松☆3 天前
昇腾NPU的信号处理加速库,跟NumPy的FFT有啥区别?
numpy·信号处理
松☆4 天前
Triton推理服务接昇腾NPU,GE后端怎么搭?
华为·性能优化·numpy·信号处理·harmonyos
bloxed4 天前
【AI大模型--NumPy-06】随机数生成与蒙特卡洛模拟
人工智能·numpy