numpy는 파이썬에서 데이터 과학 및 수치 계산을 위한 핵심 라이브러리입니다. numpy는 다차원 배열과 행렬을 다룰 수 있는 강력한 기능을 제공합니다. 이러한 기능 중에서 배열을 분할하고 결합하는 작업은 매우 유용합니다. 이번 블로그 포스트에서는 numpy에서 배열을 분할하고 결합하는 방법에 대해 알아보겠습니다.
배열 분할
numpy에서 배열을 분할하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 split
, hsplit
, vsplit
함수를 사용하는 것입니다.
split
함수
split
함수는 지정된 축을 기준으로 배열을 여러 개의 서브 배열로 분할합니다. 예를 들어, 다음과 같은 배열을 분할해보겠습니다.
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
sub_arrays = np.split(arr, 3)
print(sub_arrays)
위의 코드는 arr
배열을 3개의 서브 배열로 분할합니다. 결과는 다음과 같이 출력됩니다:
[array([1, 2]), array([3, 4]), array([5, 6])]
hsplit
함수
hsplit
함수는 배열을 수평 방향으로 여러 개의 서브 배열로 분할합니다. 예를 들어, 다음과 같은 2차원 배열을 분할해보겠습니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
sub_arrays = np.hsplit(arr, 3)
print(sub_arrays)
위의 코드는 arr
배열을 3개의 서브 배열로 수평으로 분할합니다. 결과는 다음과 같이 출력됩니다:
[array([[1], [4]]), array([[2], [5]]), array([[3], [6]])]
vsplit
함수
vsplit
함수는 배열을 수직 방향으로 여러 개의 서브 배열로 분할합니다. 예를 들어, 다음과 같은 2차원 배열을 분할해보겠습니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
sub_arrays = np.vsplit(arr, 2)
print(sub_arrays)
위의 코드는 arr
배열을 2개의 서브 배열로 수직으로 분할합니다. 결과는 다음과 같이 출력됩니다:
[array([[1, 2, 3]]), array([[4, 5, 6]])]
배열 결합
numpy에서 배열을 결합하는 방법도 여러 가지가 있습니다. 가장 일반적인 방법은 concatenate
, hstack
, vstack
함수를 사용하는 것입니다.
concatenate
함수
concatenate
함수는 지정된 축을 기준으로 여러 개의 배열을 결합합니다. 예를 들어, 다음과 같은 두 개의 배열을 결합해보겠습니다.
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_array = np.concatenate((arr1, arr2))
print(concatenated_array)
위의 코드는 arr1
과 arr2
배열을 수평으로 결합합니다. 결과는 다음과 같이 출력됩니다:
[1 2 3 4 5 6]
hstack
함수
hstack
함수는 배열을 수평으로 결합합니다. 예를 들어, 다음과 같은 두 개의 배열을 결합해보겠습니다.
import numpy as np
arr1 = np.array([[1], [2], [3]])
arr2 = np.array([[4], [5], [6]])
concatenated_array = np.hstack((arr1, arr2))
print(concatenated_array)
위의 코드는 arr1
과 arr2
배열을 수평으로 결합합니다. 결과는 다음과 같이 출력됩니다:
[[1 4]
[2 5]
[3 6]]
vstack
함수
vstack
함수는 배열을 수직으로 결합합니다. 예를 들어, 다음과 같은 두 개의 배열을 결합해보겠습니다.
import numpy as np
arr1 = np.array([[1, 2, 3]])
arr2 = np.array([[4, 5, 6]])
concatenated_array = np.vstack((arr1, arr2))
print(concatenated_array)
위의 코드는 arr1
과 arr2
배열을 수직으로 결합합니다. 결과는 다음과 같이 출력됩니다:
[[1 2 3]
[4 5 6]]
numpy에서 배열을 분할하고 결합하는 것은 데이터 처리 작업에서 매우 유용한 도구입니다. 위에서 소개한 함수들을 효과적으로 활용하여 numpy의 강력한 배열 조작 기능을 활용해보세요.