python - 矩阵转置

标签 python python-3.x numpy matrix transpose

我有一个名为 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 的一个用心良苦的功能,有时会让人们措手不及。

关于python - 矩阵转置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22813513/

相关文章:

python - 如何找到匹配的字节码?

python - Kinect + Python - 阴影的填充深度

python - 在 tkinter 主循环期间在新窗口中输出临时结果 - 线程

python - 无法在 pypy3 中导入 numpy(使用 pip 可以正常安装)

python - 生成具有对角边缘的数组的 Pythonic 方法是什么?

python - 同时更改两个 Python 列表的索引

python - 从 setup.py 中获取 "build"目录的可靠方法

python - Numpy:检查 float 组是否包含整数

python-3.x - 计算同一组中有多少行在 Pandas DataFrame 中的每一行的给定列中具有较大的值

python - 如何正确使用python类型提示?