如何在不使用内置 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 循环来完成。
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 循环来完成。