ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
使用numpy模块的array生成两个数组,在比较数组是否相等时,出现如上错误,程序如下:
import numpy as np
a = np.array([1,2,3])
b = np.array([0,0,0])
if a == b:
print('True')
else:
print('False')
错误的原因是在进行a==b
判断时返回值不确定,可以返回False如果等号两边两个式子是数值相等,也可以返回True因为等号两边两个式子是逻辑相等。更改如下:
import numpy as np
a = np.array([1,2,3])
b = np.array([0,0,0])
if (a - b).all() == False: # a-b=[1,2,3],所以a与b不相等
print('True')
else:
print('False')
程序输出:
False