numpy中的矩阵乘法

时间:2013-12-04 11:16:18

标签: python numpy

我在numpy中有2个布尔矩阵,我使用.dot()函数来乘以它们,我得到的结果是一个布尔矩阵。

如果我在进行矩阵乘法并且元素是1或0时,有没有办法在乘法过程中得到各个元素乘积的总和?

即。结果矩阵中的元素应为0或非零整数。

提前致谢。

1 个答案:

答案 0 :(得分:2)

使用int转换为astype

演示:

>>> import numpy as np
>>> np.random.seed(5)
>>> a = np.random.random([3,3]) > 0.5
>>> b = np.random.random([3,3]) > 0.5

现在a,b是dtype bool的数组:

>>> a
array([[False,  True, False],
       [ True, False,  True],
       [ True,  True, False]], dtype=bool)

将它们乘以整数:

>>> np.dot(a.astype(np.int), b.astype(np.int))
array([[0, 0, 1],
       [0, 0, 1],
       [0, 0, 2]])
相关问题