Python中的矩阵镜像/转换

时间:2019-05-28 22:25:14

标签: python arrays matrix transformation

我正在寻找一个Python函数,给定2d数组A,该函数将输出B:

A = [[a, b, c],
     [d, e, f],
     [g, h, i]]

B = [[a, d, g],
     [b, e, h],
     [c, f, i]] 

即第一行成为第一列,第二行成为第二列,等等。

谢谢。

3 个答案:

答案 0 :(得分:1)

A = [[a, b, c],
     [d, e, f],
     [g, h, i]]

B = zip(*A)

答案 1 :(得分:1)

尝试一下

>>> A = np.array([[1,2,3],
              [4,5,6],
              [7,8,9]])

>>> [list(i) for i in zip(*A)]

[[1, 4, 7], [2, 5, 8], [3, 6, 9]] #output

答案 2 :(得分:0)

所有您需要的是矩阵转置。这是一个例子

import numpy as np

A = np.array([[1,2,3],
              [4,5,6],
              [7,8,9]])
B = A.T

# array([[1, 4, 7],
#        [2, 5, 8],
#        [3, 6, 9]])