[파이썬][numpy] numpy에서 다차원 배열
NumPy는 파이썬에서 과학적 및 수치적 연산을 수행하기 위한 핵심 라이브러리입니다. NumPy를 사용하면 다차원 배열을 효율적으로 처리할 수 있습니다. 이 블로그 포스트에서는 NumPy를 사용하여 다차원 배열을 생성, 조작 및 활용하는 방법에 대해 알아보겠습니다.
다차원 배열 생성하기
NumPy의 핵심 데이터 구조는 ndarray(N-dimensional array)입니다. 이는 고차원 데이터를 효율적으로 저장하고 처리하는데 사용됩니다.
다음은 NumPy를 사용하여 다차원 배열을 생성하는 예시입니다.
import numpy as np
# 1차원 배열 생성
arr1 = np.array([1, 2, 3, 4, 5])
# 2차원 배열 생성
arr2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 3차원 배열 생성
arr3 = np.array([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]])
print(arr1)
print(arr2)
print(arr3)
다차원 배열 조작하기
NumPy는 다양한 배열 조작 및 변환 기능을 제공합니다. 다음은 다차원 배열을 조작하는 몇 가지 유용한 함수 및 메서드의 예시입니다.
- shape: 배열의 형태(차원 및 크기)를 반환합니다.
- reshape: 배열의 모양을 변환합니다.
- flatten: 다차원 배열을 1차원 배열로 변환합니다.
- transpose: 배열의 차원을 전치합니다.
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
print(arr.shape) # (2, 3)
new_arr = arr.reshape((3, 2))
print(new_arr) # [[1, 2], [3, 4], [5, 6]]
flattened_arr = arr.flatten()
print(flattened_arr) # [1, 2, 3, 4, 5, 6]
transposed_arr = arr.transpose()
print(transposed_arr) # [[1, 4], [2, 5], [3, 6]]
다차원 배열 활용하기
NumPy의 다차원 배열은 수학 및 과학적 연산에 매우 유용합니다. 예를 들어, 요소별 곱셈, 합계 계산, 배열 간 연산 등을 수행할 수 있습니다.
import numpy as np
arr1 = np.array([[1, 2, 3], [4, 5, 6]])
arr2 = np.array([[7, 8, 9], [10, 11, 12]])
elementwise_product = arr1 * arr2
print(elementwise_product) # [[7, 16, 27], [40, 55, 72]]
sum_arr = arr1 + arr2
print(sum_arr) # [[8, 10, 12], [14, 16, 18]]
dot_product = np.dot(arr1, arr2.transpose())
print(dot_product) # [[50, 68], [122, 167]]
결론
NumPy를 사용하면 파이썬에서 다차원 배열을 효율적으로 생성, 조작 및 활용할 수 있습니다. 이를 통해 과학적, 수치적 연산을 수행하거나 데이터를 처리하는 작업을 보다 간편하게 수행할 수 있습니다. 다차원 배열 처리에 대한 더 자세한 내용은 NumPy 공식 문서를 참조하시기 바랍니다.