a = np.array([0,1,2])
b = np.array([3,4,5,6,7])
...
c = np.dot(a,b)
我想转置 b,以便计算 a 和 b 的点积。
最佳答案
您可以为此使用 numpy 的广播:
import numpy as np
a = np.array([0,1,2])
b = np.array([3,4,5,6,7])
In [3]: a[:,None]*b
Out[3]:
array([[ 0, 0, 0, 0, 0],
[ 3, 4, 5, 6, 7],
[ 6, 8, 10, 12, 14]])
不过,这与点积无关。但是你在评论中说,你想要这个结果。
您还可以使用 numpy 函数 outer
:
In [4]: np.outer(a, b)
Out[4]:
array([[ 0, 0, 0, 0, 0],
[ 3, 4, 5, 6, 7],
[ 6, 8, 10, 12, 14]])
关于python - 转置 Numpy 数组(向量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610156/