[python] NumPy에서 다차원 배열의 축을 기준으로 연산을 수행하는 방법에 대해 설명해주세요.

NumPy는 파이썬에서 과학적 계산을 위한 핵심 라이브러리입니다. 다차원 배열을 다루는데 효과적이며, 축 기준으로 연산을 수행할 수 있습니다. 이번 포스트에서는 NumPy에서 다차원 배열의 축을 기준으로 연산하는 방법에 대해 알아보겠습니다.

다차원 배열의 축 개념 이해하기

다차원 배열은 여러 개의 차원을 가지는 데이터 구조입니다. 예를 들어, 2차원 배열은 행과 열로 구성된 표 형태의 데이터를 의미합니다. 3차원 배열은 여러 개의 2차원 배열로 구성되며, 추가적인 차원은 해당 배열들의 집합입니다.

축(axis)는 다차원 배열의 각 차원을 나타내는 개념입니다. 2차원 배열에서는 행과 열을 나타내며, 3차원 배열에서는 차원에 대한 개념을 가지게 됩니다. 축은 0부터 시작하여 차원의 개수보다 하나 작은 값을 가집니다.

축을 기준으로 연산하기

NumPy에서 축을 기준으로 연산을 수행하기 위해서는 axis 매개변수를 사용해야 합니다. 이 매개변수를 통해 어떤 축을 기준으로 연산할지를 지정할 수 있습니다.

예를 들어, 2차원 배열을 생각해보겠습니다. 행(axis=0)을 기준으로 합계 연산을 수행하려면 np.sum() 함수에 axis=0을 지정해야 합니다. 이렇게 하면 각 열(axis=1)마다 합계 연산을 수행한 결과가 반환됩니다.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])

# 열(axis=1)을 기준으로 합계 연산 수행
column_sum = np.sum(arr, axis=1)
print(column_sum)  # [6 15]

3차원 배열을 예로 들어보겠습니다. 3차원 배열의 경우, axis 매개변수를 통해 한 축을 지정할 수 있고, 나머지 축에 따라 연산이 수행됩니다.

import numpy as np

arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])

# 행(axis=0)을 기준으로 합계 연산 수행
row_sum = np.sum(arr, axis=0)
print(row_sum)
# [[ 6  8]
#  [10 12]]

# 열(axis=1)을 기준으로 합계 연산 수행
column_sum = np.sum(arr, axis=1)
print(column_sum)
# [[ 4  6]
#  [12 14]]

# 깊이(axis=2)를 기준으로 합계 연산 수행
depth_sum = np.sum(arr, axis=2)
print(depth_sum)
# [[3 7]
#  [11 15]]

위의 예제에서 볼 수 있듯이, axis 매개변수를 사용하면 다차원 배열의 특정 축을 기준으로 다양한 연산을 수행할 수 있습니다.

정리

NumPy에서 다차원 배열의 축을 기준으로 연산을 수행하는 방법에 대해 알아보았습니다. axis 매개변수를 활용하여 특정 축을 지정하고, 해당 축을 기준으로 다양한 연산을 수행할 수 있습니다. 이를 통해 다차원 배열을 효율적으로 다룰 수 있습니다.

더 자세한 내용은 NumPy 공식 문서를 참고하시기 바랍니다.