numpyの3次元配列の転置を行う方法は?

NumPyでは、配列の転置にはnumpy.transpose()関数が使用でき、構文は以下のようになります。

numpy.transpose(arr, axes)

arr を転置する配列、axes は転置後の次元順序を表す整数タプルです。axes パラメータが指定されない場合、デフォルトは None で、この場合すべての次元が反転されます。

以下に例を挙げます。

import numpy as np
# 创建一个三维数组
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("原数组:")
print(arr)
# 转置数组
transposed_arr = np.transpose(arr, axes=(2, 0, 1))
print("转置后的数组:")
print(transposed_arr)

結果の出力は次のとおりです。

原数组:
[[[1 2]
[3 4]]]
[[[5 6]
[7 8]]]
转置后的数组:
[[[1 3]
[5 7]]
[[2 4]
[6 8]]]

上で示したサンプルでは、元の配列の次元順序は (0, 1, 2) ですが、axes=(2, 0, 1) と指定することで、順序は (2, 0, 1) に転置されます。

bannerAds