차밍이

[NumPy] 넘파이 기초 공부하기 #2 np.vstack, hstack, fromfunction 본문

파이썬/기본 문법 정리

[NumPy] 넘파이 기초 공부하기 #2 np.vstack, hstack, fromfunction

2021. 5. 27. 08:00
반응형

Numpy 기초를 공부하기 2

np.fromfunction

def myfunc(x,y):
    return 10*x + y

arr1 = np.fromfunction(myfunc,(5,4), dtype=int)
arr2 = np.fromfunction(myfunc,(5,4), dtype=int)


arr1, arr2
>>> 
(array([[ 0,  1,  2,  3],
        [10, 11, 12, 13],
        [20, 21, 22, 23],
        [30, 31, 32, 33],
        [40, 41, 42, 43]]),
 array([[ 0,  1,  2,  3],
        [10, 11, 12, 13],
        [20, 21, 22, 23],
        [30, 31, 32, 33],
        [40, 41, 42, 43]]))

np.fromfunction을 사용하면 함수 형식을 가져와 array를 만들어줍니다.

기본 array를 생성해보았습니다.

 

np.vstack : 수직 방향으로 배열 합치기

Numpy에서 array를 합치는 방식입니다.

np.vstack은 수직방향으로 요소들을 쌓게 됩니다.

np.vstack((arr1,arr2))
>>>
array([[ 0,  1,  2,  3],
       [10, 11, 12, 13],
       [20, 21, 22, 23],
       [30, 31, 32, 33],
       [40, 41, 42, 43],
       [ 0,  1,  2,  3],
       [10, 11, 12, 13],
       [20, 21, 22, 23],
       [30, 31, 32, 33],
       [40, 41, 42, 43]])

vstack을 사용해서 두 개의 array를 튜플 형식으로 넣어주면 stack 된 것을 확인할 수 있습니다.

np.vstack((arr1,arr2)).shape
>>>
(10, 4)

shape을 확인하면 (10, 4)로 출력됩니다. 1차원 방향으로 붙어서 쌓인 것을 확인할 수 있습니다.

 

np.hstack : 수평 방향으로 배열 합치기

같은 방식이되 수평 방향으로 array를 합칠 수 있습니다.

np.hstack((arr1, arr2))
>>>
array([[ 0,  1,  2,  3,  0,  1,  2,  3],
       [10, 11, 12, 13, 10, 11, 12, 13],
       [20, 21, 22, 23, 20, 21, 22, 23],
       [30, 31, 32, 33, 30, 31, 32, 33],
       [40, 41, 42, 43, 40, 41, 42, 43]])
np.hstack((arr1, arr2))
>>>
(5, 8)

수평 방향으로 차원 값이 변한 것을 확인할 수 있습니다.

shape를 확인해보아도 2차원 방향이 8로 증가한 것을 볼 수 있습니다.

반응형

관련된 글 보기

Comments