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)))
相关推荐
Cloud_Shy6181 小时前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第九章 Excel 自动化 下篇)
python·数据分析·excel·numpy·pandas
石山代码12 小时前
Python 数据分析三大库:NumPy + Pandas + Matplotlib
python·数据分析·numpy
小陈工2 天前
Python异步编程进阶:asyncio高级模式与性能调优
开发语言·前端·数据库·人工智能·python·flask·numpy
l1t4 天前
测试包含numpy模块的pocketpy:pocketpy-numpy
numpy
Volunteer Technology4 天前
携程智能体项目
人工智能·python·numpy
闵孚龙10 天前
一篇文章彻底吃透NumPy与Pandas——从零基础到面试通关的完整指南
面试·numpy·pandas
做怪小疯子12 天前
华为笔试0429
python·numpy
Ulyanov13 天前
《现代 Python 桌面应用架构实战:PySide6 + QML 从入门到工程化》:动态数据仪表盘与 NumPy 可视化 —— 从标量到向量的数据驱动进化
开发语言·python·qt·架构·numpy
一晌小贪欢14 天前
第3节:从表格到矩阵——NumPy 高级索引与维度变换实战
线性代数·矩阵·numpy
XX風15 天前
三维点云处理环境相关-ubuntu安装numpy、open3d
linux·ubuntu·numpy