numpy.r_ : Translates slice objects to concatenation along the first axis. 첫번째 axis (위에서 아래 방향)으로 연결되도록 변환한다.
numpy.c_ : Translates slice objects to concatenation along the second axis. 두번째 axis (왼쪽에서 오른 방향)으로 연결되도록 변환한다.
>>> import numpy as np
>>> a = np.array([1, 2, 3]) # 1차원
>>> b = np.array([4, 5, 6]) # 1차원
>>> c = np.array([[1, 2, 3]]) # 2차원
>>> d = np.array([[4, 5, 6]]) # 2차원
>>> e = np.array([[[1, 2, 3]]]) # 3차원
>>> a.shape, b.shape, c.shape, d.shape, e.shape
((3,), (3,), (1, 3), (1, 3), (1, 1, 3))
>>> np.r_[a, b]
array([1, 2, 3, 4, 5, 6])
a, b는 1차원 어레이인데, 위아래로 합치면 [1, 2, 3, 4, 5, 6]^T 이 되는데 (즉 세로 형태의 1차원 array가 되는데), 파이썬에서는 1차원 어레이는 무조건 가로로 나열되므로 결과는 array([1, 2, 3, 4, 5, 6])가 된다.
>>> np.r_[c, d]
array([[1, 2, 3], [4, 5, 6]])
c, d는 2차원 어레이인데, 위아래로 합치면 array([[1, 2, 3], [4, 5, 6]])가 된다.
>>> np.c_[a, b]
array([[1, 4], [2, 5], [3, 6]])
a, b는 1차원 어레이인데, 수평으로 합치면 array([[1, 4], [2, 5], [3, 6]])가 된다.
>>> np.c_[c, d]
array([[1, 2, 3, 4, 5, 6]])
c, d는 2차원 어레이인데, 수평으로 합치면 array([[1, 2, 3, 4, 5, 6]])가 된다.
numpy.org/doc/stable/reference/generated/numpy.r_.html?highlight=r_#numpy.r_
'Python > Numpy' 카테고리의 다른 글
[공개][np.stack설명] 넘파이numpy의 stack에 대한 graphical 설명 (0) | 2023.06.15 |
---|