NumPy 분할 배열
NumPy 배열 분할
분할은 결합의 역동작입니다.
결합은 여러 배열을 하나로 병합하고 분할은 하나의 배열을 여러 개로 나눕니다.
우리는 배열을 분할하는 데 사용 array_split()
하고 분할하려는 배열과 분할 수를 전달합니다.
예시
배열을 세 부분으로 나눕니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr =
np.array_split(arr, 3)
print(newarr)
참고: 반환 값은 3개의 배열을 포함하는 배열입니다.
배열에 필요한 것보다 적은 요소가 있으면 그에 따라 끝에서 조정됩니다.
예시
배열을 4부분으로 나눕니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr =
np.array_split(arr, 4)
print(newarr)
참고: 또한 split()
사용 가능한 방법이 있지만 위의 예와 같이 분할을 위해 소스 배열에 요소가 적을 때 요소를 조정하지 않고 array_split()
제대로 작동하지만
split()
실패합니다.
배열로 분할
메서드 의 반환 값은 array_split()
각 분할을 배열로 포함하는 배열입니다.
배열을 3개의 배열로 분할하면 모든 배열 요소와 마찬가지로 결과에서 해당 배열에 액세스할 수 있습니다.
예시
분할된 어레이에 액세스:
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
newarr =
np.array_split(arr, 3)
print(newarr[0])
print(newarr[1])
print(newarr[2])
2차원 배열 분할하기
2차원 배열을 분할할 때도 동일한 구문을 사용하십시오.
메서드를 사용하여 array_split()
분할하려는 배열과 수행하려는 분할 수를 전달합니다.
예시
2차원 배열을 3개의 2차원 배열로 나눕니다.
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9,
10], [11, 12]])
newarr = np.array_split(arr, 3)
print(newarr)
위의 예는 3개의 2차원 배열을 반환합니다.
다른 예를 살펴보겠습니다. 이번에는 2차원 배열의 각 요소에 3개의 요소가 포함됩니다.
예시
2차원 배열을 3개의 2차원 배열로 나눕니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10,
11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3)
print(newarr)
위의 예는 3개의 2차원 배열을 반환합니다.
또한 분할을 수행할 축을 지정할 수 있습니다.
아래 예제는 3개의 2차원 배열도 반환하지만 행을 따라 분할됩니다(축=1).
예시
2차원 배열을 행을 따라 3개의 2차원 배열로 나눕니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10,
11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.array_split(arr, 3, axis=1)
print(newarr)
대체 솔루션은 hsplit()
반대를
사용하고 있습니다.hstack()
예시
이 방법을 사용하여 hsplit()
2차원 배열을 행을 따라 3개의 2차원 배열로 분할합니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9],
[10, 11, 12], [13, 14, 15], [16, 17, 18]])
newarr = np.hsplit(arr, 3)
print(newarr)
참고: 및
와 유사한 대체 항목을 vstack()
및
dstack()
로 사용할 수 있습니다
.vsplit()
dsplit()