[파이썬][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는 다양한 배열 조작 및 변환 기능을 제공합니다. 다음은 다차원 배열을 조작하는 몇 가지 유용한 함수 및 메서드의 예시입니다.

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 공식 문서를 참조하시기 바랍니다.