我有两个相同维度的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)
有人可以告诉我原因吗?
由于
答案 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)