배열의 전치를 원하는 방향으로 바꿔줍니다.
a = np.arange(24).reshape(2,3,4)
b = a.transpose(2, 1, 0) #1번째
b = a.transpose(1, 2, 0) #2번째
print(a)
print(b)
# a 출력
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
axis0=2
axis1=3
axis2=4
1, 2, 0은 2, 3, 4를 4, 3, 2 shape으로 만듭니다. (3x2행렬 4개)
# 첫번째 b 출력
[[[ 0 12]
[ 4 16]
[ 8 20]]
[[ 1 13]
[ 5 17]
[ 9 21]]
[[ 2 14]
[ 6 18]
[10 22]]
[[ 3 15]
[ 7 19]
[11 23]]]
axis2=4
axis1=3
axis0=2
1, 2, 0은 2, 3, 4를 3, 4, 2 shape으로 만듭니다. (4x2행렬 3개)
# 두번째 b 출력
[[[ 0 12]
[ 1 13]
[ 2 14]
[ 3 15]]
[[ 4 16]
[ 5 17]
[ 6 18]
[ 7 19]]
[[ 8 20]
[ 9 21]
[10 22]
[11 23]]]
axis1=3
axis2=4
axis0=2
a = np.arange(24).reshape(1,2,3,4)
b = a.transpose(3, 2, 1, 0)
print(a)
print(b)
# a 출력
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
axis0=1
axis1=2
axis2=3
axis3=4
1x2=2개의 3x4행렬
# b 출력
[[[[ 0]
[12]]
[[ 4]
[16]]
[[ 8]
[20]]]
[[[ 1]
[13]]
[[ 5]
[17]]
[[ 9]
[21]]]
[[[ 2]
[14]]
[[ 6]
[18]]
[[10]
[22]]]
[[[ 3]
[15]]
[[ 7]
[19]]
[[11]
[23]]]]
axis3=4
axis2=3
axis1=2
axis0=1
4x3=12개의 2x1행렬
a = np.arange(24).reshape(2,3,4,1)
b = a.transpose(3, 2, 1, 0)
print(a)
print(b)
# a 출력
[[[[ 0]
[ 1]
[ 2]
[ 3]]
[[ 4]
[ 5]
[ 6]
[ 7]]
[[ 8]
[ 9]
[10]
[11]]]
[[[12]
[13]
[14]
[15]]
[[16]
[17]
[18]
[19]]
[[20]
[21]
[22]
[23]]]]
axis0=2
axis1=3
axis2=4
axis3=1
2x3=6개의 4x1행렬
# b 출력
[[[[ 0 12]
[ 4 16]
[ 8 20]]
[[ 1 13]
[ 5 17]
[ 9 21]]
[[ 2 14]
[ 6 18]
[10 22]]
[[ 3 15]
[ 7 19]
[11 23]]]]
axis3=1
axis2=4
axis1=3
axis0=2
1x4=4개의 3x2행렬