如何在不使用内置 transpose() 函数的情况下转置 Python 中的二维数组?

How to do transpose of a 2D array in Python, without using the built-in transpose() function?

import numpy as np

a5 = np.array([[1, 2, 3],[4, 5, 6]])
a = len(a5)              # rows of a5
b = len(a5[0])           # columns of a5
    
a6 = np.zeros([b, a])

for i in range(len(a5)):
    for j in range(len(a5[0])):
        a6[i][j] = a5[j][i]

但是,这给我错误:- 索引 2 超出了大小为 2 的轴 0 的范围

我保留了大部分相同的代码:

import numpy as np

a5 = np.array([[1,2,3],[4,5,6]])
a5_transposed = np.zeros((3,2))

for i in range(len(a5)):
    for j in range(len(a5[0])):
        a5_transposed[j,i]=a5[i,j]

print(a5_transposed)

输出:

[[1. 4.]
 [2. 5.]
 [3. 6.]]

还有其他 numpy 技巧可以用函数来完成,但我假设您想用 for 循环来完成。