gpt4 book ai didi

numpy - 给定两个向量,得到一个 bool 值矩阵,指示向量元素在何处相等

转载 作者:行者123 更新时间:2023-12-04 02:08:48 26 4
gpt4 key购买 nike

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

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

最佳答案

使用NumPy's broadcasting feature通过使用 None/np.newaxisA 扩展为 2D 版本然后与 1D 数组 B 进行比较,得到所需的 2D bool 数组 -

A[:,None] == B

创建 A2D 版本的替代方法是 reshape ,使第二个轴的长度为 length = 1 。因此,另一种解决方案是 -

A.reshape(-1,1) == B

sample 运行-

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)

关于numpy - 给定两个向量,得到一个 bool 值矩阵,指示向量元素在何处相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40834127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com