Concatenate 함수로 배열 합치기
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5])
arr = np.concatenate((arr1, arr2))
print(arr)
#[1, 2, 3, 4, 5]
Numpy는 둘 이상의 배열을 특정 축(axis)을 따라서 합치는 concatenate메서드를 제공한다.
배열들은 동일한 rank를 가져야하고, 합쳐질 축을 제외한 나머지 축으로는 동일한 길이를 가져야 한다.
만들어진 배열은 입력된 배열과 동일한 rank를 가지게 된다.
arr1 = np.array([[1, 2],
[3, 4]])
arr2 = np.array([[5, 6],
[7, 8]])
arr3 = np.concatenate((arr1, arr2), axis=0)
print(arr3)
#[[1 2]
#[3 4]
#[5 6]
#[7 8]]
arr4 = np.concatenate((arr1, arr2), axis=1)
print(arr4)
#[[1 2 5 6]
#[3 4 7 8]]
2차원 이상의 배열은 합칠 축을 지정할 수있다. (디폴트, axis = 0)
0은 세로축, 1은 가로축을 나타낸다.
Stack 함수로 배열 쌓기
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr3 = np.stack((arr1, arr2), axis=0)
print(arr3)
#[[1 2 3]
#[4 5 6]]
arr4 = np.stack((arr1, arr2), axis=1)
print(arr4)
#[[1 4]
#[2 5]
#[3 6]]
stack 함수는 배열들을 새로운 축으로 합치는 일을 한다.
예를 들어, 1차원 배열들을 합쳐서 2차원 배열을 만들거나, 2차원 배열 여러개를 합쳐 3차원 배열을 만들거나...등이다.
합쳐질 배열들은 동일한 shape을 가져야한다. stack 역시 0은 세로축, 1은 가로축을 나타낸다. (디폴트, axis = 0)
'개발 타임캡슐 > Python' 카테고리의 다른 글
[Python] Numpy - 배열 연산(Array math), 브로드캐스팅(Broadcasting) (0) | 2020.09.19 |
---|---|
[Python] Numpy - 배열 인덱싱(Array Indexing) (0) | 2020.09.19 |
[Python] Numpy - 배열 슬라이싱(slicing) (0) | 2020.09.18 |
[Python] Numpy - 배열 reshape (0) | 2020.09.18 |
[Python] Numpy 배열 / Numpy배열 함수 (0) | 2020.09.18 |