我正在尝试使用以下代码创建一个组合布尔矩阵函数。
def AndCombine(array1, array2):
if array1.shape != array2.shape:
return 'Matrix size not equal.'
else:
Product= np.where(array1==1, True, np.where(array2==1, True, False))
print (Product)
return Product
我正在测试的矩阵是:
arr1= np.array([[True, False], [False, True]])
arr2= np.array([[False, True],[True, True]])
当我运行AndCombine(arr1, arr2)
函数时,我希望看到[[False, False],[False, True]]
的产品,但我收到的输出是[[True, True],[True, True]]
,我不确定为什么会发生这种情况。
任何帮助或建议都将不胜感激!
答案 0 :(得分:2)
为什么不使用&
运算符?
>>> arr1 & arr2
array([[False, False],
[False, True]], dtype=bool)