Python 如何将numpy数组映射到其他数组?

Python 如何将numpy数组映射到其他数组?,python,multidimensional-array,numpy,Python,Multidimensional Array,Numpy,我有两个(A,B)布尔数组,它们是相同的有限数组,但任意大,并且只在运行时知道形状和维度 我想计算a和B中对应元素的布尔函数的值,并将它们存储在C中。最后,我需要一个元组列表,其中C为真 怎么去那里 我不想对单个元素进行迭代,因为我不知道有多少维度,一定有更好的方法 >>> A = array([True, False, True, False, True, False]).reshape(2,3) >>> B = array([True, True, Fal

我有两个(A,B)布尔数组,它们是相同的有限数组,但任意大,并且只在运行时知道形状和维度

我想计算a和B中对应元素的布尔函数的值,并将它们存储在C中。最后,我需要一个元组列表,其中C为真

怎么去那里

我不想对单个元素进行迭代,因为我不知道有多少维度,一定有更好的方法

>>> A = array([True, False, True, False, True, False]).reshape(2,3)
>>> B = array([True, True, False, True, True, False]).reshape(2,3)
>>> A == B
array([[ True, False, False],
       [False,  True,  True]], dtype=bool)
如所需,但:

>>> A and B
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
>A和B
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
我怎样才能得到“A和B”

我尝试了“map”、“zip”、“nditer”并搜索了其他方法,但没有成功

至于元组,我需要像“argmax”这样的布尔值,但也没有找到任何东西


你知道一些可能有用的东西吗?

是的,NumPy中有一个函数:

numpy.logical_and(A,B)

是的,NumPy中有一个函数:

numpy.logical_and(A,B)

您还可以使用&运算符:

In [5]: A & B

array([[ True, False, False],
       [False,  True, False]], dtype=bool)
逻辑_和调用的最大优势在于您可以使用out参数:

In [6]: C = empty_like(A)

In [7]: logical_and(A, B, C)

array([[ True, False, False],
       [False,  True, False]], dtype=bool)

您还可以使用&运算符:

In [5]: A & B

array([[ True, False, False],
       [False,  True, False]], dtype=bool)
逻辑_和调用的最大优势在于您可以使用out参数:

In [6]: C = empty_like(A)

In [7]: logical_and(A, B, C)

array([[ True, False, False],
       [False,  True, False]], dtype=bool)