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)))
相关推荐
新手小袁_J1 天前
Python的Matplotlib库应用(超详细教程)
开发语言·python·numpy·matplotlib·pip·基础知识
panxin8012 天前
矩阵和向量点乘叉乘元素乘
python·矩阵·numpy
疯狂成瘾者4 天前
np.ndarray 是 NumPy 库中的核心数据结构
数据结构·numpy
晚上睡不着!4 天前
Java程序命令行调用Python矩阵算法
java·开发语言·python·numpy
元莉桢4 天前
From matplotl1b.path 1mport failed to import ImportError:numpy.core.multiarray
numpy
DongHappyyy7 天前
gpt优化事件处理速度
python·gpt·numpy
xiaobai12 39 天前
numpy的repeat和pytorch的repeat区别
人工智能·pytorch·numpy
新手小袁_J9 天前
Python的列表基础知识点(超详细流程)
开发语言·python·numpy·pip·基础知识·基础知识点
白雪公主的后妈10 天前
数据的存储和处理——创建数组
开发语言·python·学习·numpy
书剑风雪11 天前
Chapter 03 复合数据类型-1
windows·python·conda·numpy·pandas·pip·dash