报错解决ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or

小型数组list或array 取或、取并的操作可以直接用 and 和 or 来解决

#或,有True就是True
[[True, True, False]] or [[False, True, False]]
'''
 [[True, True, False]]
'''
#并,都是True才是True
[[True, True, False]] and [[False, True, False]]
'''
 [[False, True, False]]
'''

大型数组(如300*300),是array格式时,使用or和and会出现如下报错

ValueError: The truth value of an array with more than one element is ambiguous. 
Use a.any() or a.all()

此时,使用它给出的建议".any()"".all()"只能得到单一的结论,不能做对应项的布尔操作。

np.array([[True, True, False]]).all() or np.array([[False, True, False]]).all()
'''
False
'''

np.array([[True, True, False]]).any() or np.array([[False, True, False]]).any()
'''
True
'''

【报错解决】只需要改一个运算符号或格式

这时,如果想得到对应项的结果,把“or”改为“+”“and”改为“*”就可以实现不报错了。

或者,把array格式改成list格式也可以,看个人需要。

由于大型数组难以在这里给出例子,我是处理数据时出现的报错,这里就不举例了。

#如有疑问,欢迎留言#

你可能感兴趣的:(python,开发语言)