Numpy 给定两个向量,得到一个布尔值矩阵,指示向量元素相等的位置

Numpy 给定两个向量,得到一个布尔值矩阵,指示向量元素相等的位置,numpy,matrix,vector,Numpy,Matrix,Vector,我有两个向量:A长度m,和B长度n。 我想通过n矩阵得到m,其元素(x,y)等于A[x]==B[y] 在numpy中构建这个矩阵的最快方法是什么 通过使用将A扩展到2D版本,然后与1D数组B进行比较,得到所需的2D布尔数组- A[:,None] == B 创建A的2D版本的另一种方法是重塑,使第二个轴的length=1。因此,另一种解决方案是- A.reshape(-1,1) == B 样本运行- In [89]: A Out[89]: array([0, 1, 2, 3]) In [90

我有两个向量:
A
长度
m
,和
B
长度
n
。 我想通过
n
矩阵得到
m
,其元素
(x,y)
等于
A[x]==B[y]

在numpy中构建这个矩阵的最快方法是什么

通过使用将
A
扩展到
2D
版本,然后与
1D
数组B进行比较,得到所需的
2D
布尔数组-

A[:,None] == B
创建
A
2D
版本的另一种方法是重塑,使第二个轴的
length=1
。因此,另一种解决方案是-

A.reshape(-1,1) == B
样本运行-

In [89]: A
Out[89]: array([0, 1, 2, 3])

In [90]: B
Out[90]: array([4, 3, 2, 1, 0])

In [91]: A[:,None] == B
Out[91]: 
array([[False, False, False, False,  True],
       [False, False, False,  True, False],
       [False, False,  True, False, False],
       [False,  True, False, False, False]], dtype=bool)