矢量化布尔比较:将1列与整个矩阵进行比较

时间:2014-10-23 17:04:04

标签: numpy scipy

我有一个Scipy矩阵

a = sps.csc_matrix( (z , (x,y)), shape = (N,N), dtype = int)

我有另一个1D数组z,我想与a中的每一列进行比较并计算匹配数。

count = 0
for i in range(N):
    count += (z == a[:,j]).sum()

这需要很长时间,因为代码没有矢量化。有没有办法对这种比较进行矢量化?

a == z

不起作用。但是我想要一些类似于两个数组的numpy中的a*z如何非常快地进行逐列乘法,而不是明确地循环a列并乘以z

1 个答案:

答案 0 :(得分:1)

这会给你你想要的吗?

(a == z[:, None]).sum()
相关问题