pca
是一个2x2矩阵。我想将pca[:,1]
乘以另一个2x2矩阵,如下所示:pca [:,1] .T * XtX,但是numpy说
“矩阵不对齐”。
为什么pca[:,1].shape
“(2, )
”?
我知道我可以重塑,但看起来很脏。关于如何干净利落地工作的任何想法?
答案 0 :(得分:0)
如果要形成单列子矩阵而不是提取列,请选择索引的单元素数组,而不是单个索引:{{ 1}}而不是pca(:, [1])
。
pca(:, 1)
此处import numpy as np
pca = np.array([[1, 2], [3, 4]])
pca[:, 1].shape # returns (2,)
pca[:, [1]].shape # returns (2, 1)
为pca[:, 1]
,array([2, 4])
为pca[:, [1]]
在您的示例中,长度为1的维度的存在与否不是矩阵乘法的障碍。但它在其他情况下很重要,例如
array([[2], [4]])