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([123]) # 1차원

>>> b = np.array([456]) # 1차원

>>> c = np.array([[123]]) # 2차원

>>> d = np.array([[456]]) # 2차원

>>> e = np.array([[[123]]]) # 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]])가 된다. 

 

파이썬python_블로그에설명.pptx
0.04MB

 

numpy.org/doc/stable/reference/generated/numpy.r_.html?highlight=r_#numpy.r_

rfriend.tistory.com/352

 

 

 

 

 

 

 

 

 
 
 
 
Posted by uniqueone
,