矩阵的转置

Vei*_*pse 1 python transpose numpy matrix python-3.x

我有一个名为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矩阵

Dan*_*iel 5

对于许多情况来说,最简单和最强大的方法可能是使用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]])
Run Code Online (Sandbox Code Playgroud)

由于没有任何东西可以转置,因此mean11D阵列transpose无效.这是一个善意的numpy功能,有时会让人措手不及.