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小云2 天前
【Numpy数据运算】数组间运算
开发语言·python·numpy
长不大的蜡笔小新2 天前
掌握NumPy:ndarray核心特性与创建
开发语言·python·numpy
inside8024 天前
11月10日学习总结--numpy的基本操作
学习·numpy
wudl55666 天前
NumPy -数组属性与形状操作
numpy
njxiejing7 天前
Numpy一维、二维、三维数组切片实例
开发语言·python·numpy
wudl55667 天前
NumPy 简介与安装
numpy
wudl55667 天前
NumPy -数组运算与操作
numpy
云和数据.ChenGuang8 天前
SyntaxError: Non-UTF-8 code starting
人工智能·python·numpy
景彡先生12 天前
Python NumPy广播机制详解:从原理到实战,数组运算的“隐形翅膀”
开发语言·python·numpy
冰糖拌面12 天前
trimesh库初步接触
numpy