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)))
相关推荐
AI小云1 天前
【数据操作与可视化】Pandas数据处理-Series数据结构
开发语言·数据结构·python·numpy·pandas
咚咚王者1 天前
人工智能之数据分析 numpy:第八章 数组广播
人工智能·数据分析·numpy
咚咚王者2 天前
人工智能之数据分析 numpy:第七章 数组迭代排序筛选
人工智能·数据分析·numpy
weixin_468466852 天前
模拟退火算法求解聚类问题python代码示例
python·numpy·聚类·模拟退火算法·fcm·智能优化·模糊聚类
咚咚王者2 天前
人工智能之数据分析 numpy:第三章 Ndarray 对象和数组创建
人工智能·数据分析·numpy
醒过来摸鱼3 天前
9.12 sinc插值
python·线性代数·算法·numpy
小兔崽子去哪了3 天前
Numpy、Panads
python·numpy·pandas
醒过来摸鱼4 天前
9.8 贝塞尔曲线
线性代数·算法·numpy
咚咚王者4 天前
人工智能之数据分析 numpy:第五章 索引与切片
人工智能·数据分析·numpy