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)))
相关推荐
XX風1 天前
三维点云处理环境相关-ubuntu安装numpy、open3d
linux·ubuntu·numpy
方安乐2 天前
python之向量、向量和、向量点积
开发语言·python·numpy
隔壁大炮2 天前
Day07-RNN介绍
人工智能·pytorch·rnn·深度学习·神经网络·算法·numpy
隔壁大炮3 天前
Day06-08.CNN概述介绍
人工智能·pytorch·深度学习·算法·计算机视觉·cnn·numpy
光之后裔3 天前
Numpy以及Pytorch中多维数组的维度数与维度值以及轴axis理解
pytorch·python·numpy
隔壁大炮4 天前
Day02-13.张量的拼接操作
人工智能·pytorch·深度学习·神经网络·numpy
爱喝热水的呀哈喽5 天前
5步创建一个有不同numpy scipy版本的python环境
python·numpy·scipy
陶陶然Yay6 天前
神经网络常见层Numpy封装参考(5):其他层
人工智能·神经网络·numpy
2501_921960856 天前
协同本体论:元公理体系、普适演化律则与工程范式统一构建
python·重构·numpy·pandas·scipy
陶陶然Yay6 天前
神经网络常见层Numpy封装参考(6):卷积层
人工智能·神经网络·numpy