Skip to main content
 首页 » 编程设计

python之矩阵转置

2025年05月04日17davidwang456

我有一个名为 class1 的 numpy 数组,维度为 50x4。

我找到了 class1 每一列的平均值。 mean1 = np.mean(class1, axis=0)

np.mean 返回我 mean1 = [ 5.006 3.428 1.462 0.246]

当我尝试 mean1.T 时,它仍然返回我 [ 5.006 3.428 1.462 0.246]

转置的正确方法是什么?

基本上我想做 mean1.T * mean1 这样我得到一个 4x4 矩阵

请您参考如下方法:

在许多情况下,最简单和最可靠的方法可能是使用 np.outer :

>>> mean1 = np.array([ 5.006,  3.428,  1.462,  0.246]) 
>>> np.outer(mean1, mean1) 
array([[ 25.060036,  17.160568,   7.318772,   1.231476], 
       [ 17.160568,  11.751184,   5.011736,   0.843288], 
       [  7.318772,   5.011736,   2.137444,   0.359652], 
       [  1.231476,   0.843288,   0.359652,   0.060516]]) 

因为 mean1 是一个一维数组,transpose 什么都不做,因为没有什么可以转置的。这是 numpy 的一个用心良苦的功能,有时会让人们措手不及。