对于许多情况来说,最简单和最强大的方法可能是使用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功能,有时会让人措手不及.