np.dot两个向量相乘

python里用numpy在进行向量相乘时,希望两个向量相乘得到矩阵形式。这里需要对没个向量增加一个维度才能相乘得到矩阵。python代码如下:

import numpy as np
a = np.array([1, 2, 3])   # shape: (3,)
b = np.array([1, 2])      # shape: (2,)
c = np.dot(a[:, None], b[None, :])   # 通过a[:, None]来增加一个维度,将a的shape变为(3,1), b:(1,2)
print(c)
>> [[1 2]
 [2 4]
 [3 6]]
这里a的shape为(3,),所以直接相乘是没法乘的。

你可能感兴趣的:(python)