본문 바로가기
파이썬

파이썬 Reshape an array in NumPy

by º기록 2021. 1. 27.
반응형

다음 형식의 배열을 고려하십시오 (예제 일뿐).

[[ 0  1]
 [ 2  3]
 [ 4  5]
 [ 6  7]
 [ 8  9]
 [10 11]
 [12 13]
 [14 15]
 [16 17]]

모양은 [9,2]입니다. 이제 각 열이 다음과 같이 [3,3] 모양이되도록 배열을 변환하려고합니다.

[[ 0  6 12]
 [ 2  8 14]
 [ 4 10 16]]
[[ 1  7 13]
 [ 3  9 15]
 [ 5 11 17]]

가장 명백한 (그리고 확실히 "비 파이썬") 해결책은 적절한 차원으로 0 배열을 초기화하고 데이터로 채워질 두 개의 for 루프를 실행하는 것입니다. 언어를 준수하는 솔루션에 관심이 있습니다.

 

해결 방법

 

a = np.arange(18).reshape(9,2)
b = a.reshape(3,3,2).swapaxes(0,2)

# a: 
array([[ 0,  1],
       [ 2,  3],
       [ 4,  5],
       [ 6,  7],
       [ 8,  9],
       [10, 11],
       [12, 13],
       [14, 15],
       [16, 17]])


# b:
array([[[ 0,  6, 12],
        [ 2,  8, 14],
        [ 4, 10, 16]],

       [[ 1,  7, 13],
        [ 3,  9, 15],
        [ 5, 11, 17]]])

 

참조 페이지 https://stackoverflow.com/questions/14476415

 

 

반응형

댓글