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)))
相关推荐
工具人55552 天前
numpy如何学
numpy
与代码不die不休3 天前
Numpy学习——创建ndarray的方法
学习·numpy
聊询QQ:688238863 天前
探索ICEEMDAN算法:信号处理的利器
numpy
与代码不die不休4 天前
Numpy学习——ndarray的属性
学习·numpy
看到代码就头晕4 天前
尚硅谷numpy的学习
numpy
一招定胜负5 天前
机器学习预备知识:numpy、pandas、matplotlib库
人工智能·机器学习·numpy
劈星斩月5 天前
Numpy学习3-数组切片
numpy·数组切片
Maxwell_li17 天前
Pandas 描述分析和分组分析学习文档
学习·数据分析·numpy·pandas·matplotlib
Maxwell_li17 天前
pandas数据合并
机器学习·数据分析·numpy·pandas·matplotlib
爱打代码的小林7 天前
numpy库数组笔记
笔记·python·numpy