格式化和比较数组 Numpy Python
Formatting and comparing arrays Numpy Python
我正在尝试检查格式化向量 a_and_b[::2]
是否等同于 a
,但它给我一个错误 ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
。我怎样才能解决这个问题并获得预期的输出?
import numpy as np
a = np.array([5,32,1,4])
b = np.array([1,5,11,3])
a_and_b = np.array([5,1,32,5,1,11,4,3])
result = 'yes' if a_and_b[::2] == a else 'no'
预期输出:
yes
你可能想用这个:
(a_and_b[::2] == a).all()
如果每个数组的所有元素都相等,这将 return True
,因为:
>>> a_and_b[::2] == a
array([ True, True, True, True])
return 是 True
/False
的数组。 all()
将指示该数组的所有元素是否都是 True
。
所以尝试:
result = 'yes' if (a_and_b[::2] == a).all() else 'no'
我正在尝试检查格式化向量 a_and_b[::2]
是否等同于 a
,但它给我一个错误 ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
。我怎样才能解决这个问题并获得预期的输出?
import numpy as np
a = np.array([5,32,1,4])
b = np.array([1,5,11,3])
a_and_b = np.array([5,1,32,5,1,11,4,3])
result = 'yes' if a_and_b[::2] == a else 'no'
预期输出:
yes
你可能想用这个:
(a_and_b[::2] == a).all()
如果每个数组的所有元素都相等,这将 return True
,因为:
>>> a_and_b[::2] == a
array([ True, True, True, True])
return 是 True
/False
的数组。 all()
将指示该数组的所有元素是否都是 True
。
所以尝试:
result = 'yes' if (a_and_b[::2] == a).all() else 'no'