Python 一种有效的numpy阵列子矩阵转置方法
我有一个非常大的矩阵数组,它的结构如下:Python 一种有效的numpy阵列子矩阵转置方法,python,arrays,python-3.x,numpy,Python,Arrays,Python 3.x,Numpy,我有一个非常大的矩阵数组,它的结构如下: np.array([ [[1, 2], [3, 4]], [[5, 6], [7, 8]], ]) 我的预期产出是 np.array([ [[1, 3], [2, 4]], [[5, 7], [6, 8]], ]) 我知道使用列表理解
np.array([
[[1, 2],
[3, 4]],
[[5, 6],
[7, 8]],
])
我的预期产出是
np.array([
[[1, 3],
[2, 4]],
[[5, 7],
[6, 8]],
])
我知道使用列表理解或for循环的方法,然后再次创建numpy数组,但是涉及从列表创建numpy的方法对于我的数据来说太慢了。矢量化似乎只对数字起作用
当我使用普通的python列表或其他语言时,我可以将转置函数映射到列表中,但在numpy中似乎没有类似的函数
如何才能有效地执行此操作?使用
swapaxes
:arr.swapaxes(1,2)
arr.transpose(0,2,1)
?是的,只需使用transpose()-方法谢谢您的建议。检查此方法是否回答了您的问题: