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)))
相关推荐
七夜zippoe3 小时前
NumPy向量化计算实战:从入门到精通的性能优化指南
python·性能优化·架构·numpy·广播机制·ufunc
one day3212 天前
从numpy-pillow-opencv的基础学习
opencv·numpy·pillow
lrh1228004 天前
Numpy学习
numpy
拾贰_C4 天前
[python | numpy] numpy& matplotib冲突
开发语言·python·numpy
陈晨辰熟稳重6 天前
20260113-np.random.multinomial 与 torch.multinomial
pytorch·python·numpy·采样·multinomial
charlie1145141917 天前
从 0 开始的机器学习——NumPy 线性代数部分
开发语言·人工智能·学习·线性代数·算法·机器学习·numpy
muddjsv11 天前
NumPy 常用工具:统计、排序、缺失值处理
numpy
muddjsv11 天前
NumPy 核心运算:向量化与广播
numpy
muddjsv11 天前
NumPy 实战:从基础到场景化应用
numpy
A尘埃12 天前
Numpy常用方法介绍
numpy