如何使用多条件表达式从NumPy数组筛选值?解决ValueError报错
NumPy多条件筛选报错的解决办法
直接用and连接NumPy数组的条件会触发ValueError,原因是Python的and运算符要求操作对象是单个布尔值,而数组比较返回的是布尔数组,无法直接用and处理。解决方法有两种:
使用NumPy的
&运算符(逻辑与),注意给每个条件单独加括号(因为比较运算符优先级高于&):import numpy as np b = np.array([2,3,4,5]) b[(b >= 1) & (b <= 2)] # 输出: array([2])使用
np.logical_and()函数,专门用于处理布尔数组的逻辑与操作:import numpy as np b = np.array([2,3,4,5]) b[np.logical_and(b >= 1, b <= 2)] # 输出: array([2])
内容的提问来源于stack exchange,提问作者zo Aoo
相关产品推荐
相关产品推荐

