배열의 분할도 배열의 결합과 마찬가지로 나누고자 하는 축을 지정해주어야 한다. 축을 지정해주지 않으면 기본값인 axis=0으로 들어가며 나누고자 하는 값이 나누어 떨어지지 않으면 오류가 발생한다.
예를들어 2행 3열짜리 배열을 행이 3개가 되도록 자른다면 오류가 나는 것 처럼 나누는 수와 축은 나누었을 때 나누어 떨어지는 관계여야 한다.
np.split (arr,x,axis)
배열을 분할하는 함수이며 'arr배열을 x개로 axis를 축으로 나눈다'라는 뜻이다.
예시)
import numpy as np
x = np.array([[1,2,3],[4,5,6]])
print(np.split(x, 3, axis = 1))
>>> [array([[1],
[4]]), array([[2],
[5]]), array([[3],
[6]])]
np.vsplit(arr,x)
배열을 가로로 x개가 되도록 분할. arr배열을 가로로 x개로 나눈다는 의미이며 split 함수의 axis = 0과 같다.
예시)
import numpy as np
x = np.array([[1,2],[3,4]])
print(np.vsplit(x, 2))
>>> [array([[1, 2]]), array([[3, 4]])]
np.hsplit(arr,x)
배열을 세로로 x개가 되도록 분할. arr 배열을 세로로 x개로 나눈다는 의미이며 split 함수의 axis = 1과 같다.
예시)
import numpy as np
x = np.array([[1,2],[3,4]])
print(np.hsplit(x, 2))
>>> [array([[1],
[3]]), array([[2],
[4]])]
np.dsplit(arr,x)
배열을 위 아래로 x개가 되도록 분할. arr 배열을 위 아래로 x개로 나눈다는 의미
예시)
import numpy as np
x = np.array([[[1,2],[3,4],[5,6]]])
print(np.dsplit(x, 2))
3차원 상태에서 분할한다는 뜻이 무슨 뜻인지 이해가 잘 가질 않을 것 같아서 그림을 첨부했다. x값이 2이기 때문에 2 그룹으로 나누고 그 값은 [[[1,3],[5,7]], [[2,4],[6,8]]] 로 쓸 수 있다.
>>> [array([[[1],
[3]],
[[5],
[7]]]), array([[[2],
[4]],
[[6],
[8]]])]
'Python > numpy' 카테고리의 다른 글
(numpy) 배열의 결합 (0) | 2022.10.20 |
---|---|
(numpy) random과 관련된 함수 (0) | 2022.10.20 |
(numpy) 특정 값으로 배열 생성 (np.zeros, np.ones, np.empty, np.full) (0) | 2022.10.20 |
(numpy) 타입변환 (np.astype, np.tolist) (0) | 2022.10.14 |
(numpy) 차원 관련 함수 (np.shape, np.size, np.reshape) (0) | 2022.10.14 |
댓글