首页 > 解决方案 > 将numpy矩阵的列与数组进行比较

问题描述

我有一个 numpy 矩阵,想将每一列与给定的数组进行比较,例如:

M = np.array([1,2,3,3,2,1,1,3,2]).reshape((3,3)).T
v = np.array([1,2,3])

现在我想将 M 的每一列与 v 进行比较,即我想要一个第一列由 True、True、True 组成的矩阵。第二个说假,真,假。第三个真,假,假。

我如何实现这一目标?谢谢!

标签: pythonarraysnumpy

解决方案


使用广播比较:

>>> M == v[:, None]
array([[ True, False,  True],
       [ True,  True, False],
       [ True, False, False]])

推荐阅读