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)