Numpy dot抛出错误

时间:2018-02-08 06:08:11

标签: python numpy numpy-broadcasting

我有两个相同维度的numpy数组。当我尝试在它们上使用点积时,我得到“形状未对齐”错误。

import numpy as np

A = np.array([[2,4,6]])

Y = np.array([[1,0,1]])

np.dot(Y,A)



ValueError: shapes (1,3) and (1,3) not aligned: 3 (dim 1) != 1 (dim 0)

有人可以告诉我原因吗?

由于

1 个答案:

答案 0 :(得分:1)

列在列上相乘。您应该首先将行转置为列:

import numpy as np
A = np.array([[2,4,6]])
Y  = np.array([[1,0,1]])
np.dot(Y, A.T)

但也许最好使用matrix代替array进行矩阵运算:

import numpy as np
A = np.matrix([[2,4,6]])
Y  = np.matrix([[1,0,1]])
Y.dot(A.T)