我有一个(n,1)个np数组,例如array([1 2 3])
,我想将一个元素明智地乘以一个np矩阵(n,m),例如array([[1 1 1], [2 2 2], [3 3 3]])
,以便我会得到:
array([[1 1 1], [4 4 4], [9 9 9]])
我该怎么做?
我尝试使用np.multiply和np.dot。
答案 0 :(得分:1)
调整向量的形状,使其包含3行而不是3列:
v = np.array([1, 2, 3])
m = np.array([[1, 1, 1], [2, 2, 2], [3, 3, 3]])
u = v.reshape(*v.shape, 1)
u * m # results in [[1, 1, 1], [4, 4, 4], [9, 9, 9]]