이번 포스트에서는 파이썬의 numpy
라이브러리를 사용하여 배열의 차원을 추가하거나 제거하는 방법에 대해 알아보겠습니다. numpy
는 수치 계산을 위한 강력한 라이브러리로, 다차원 배열 처리에 특화되어 있습니다.
차원 추가
numpy.newaxis
속성을 사용하여 배열에 새로운 차원을 추가할 수 있습니다. 이는 실제로 차원을 추가하는 것이 아니라, 배열의 차원을 재구성(restructuring)하여 새로운 차원을 생성하는 것입니다.
다음은 1차원 배열에 newaxis
를 사용하여 2차원으로 변환하는 예제입니다.
import numpy as np
# 1차원 배열 생성
a = np.array([1, 2, 3, 4, 5])
# newaxis를 사용하여 2차원으로 재구성
b = a[:, np.newaxis]
print(b)
결과:
[[1]
[2]
[3]
[4]
[5]]
위의 예제에서 :
는 배열의 모든 원소를 선택하라는 의미이고, np.newaxis
를 사용하여 새로운 차원을 추가했습니다. 따라서 원래 1차원 배열이 2차원 배열로 변환되었습니다.
차원 제거
numpy
에서는 np.squeeze()
함수를 사용하여 배열의 크기가 1인 차원을 제거할 수 있습니다. 이 함수를 사용하면 배열의 차원이 줄어들고, 크기가 1인 차원은 제거됩니다.
다음은 크기가 1인 차원을 가진 배열에서 squeeze()
함수를 사용하여 차원을 제거하는 예제입니다.
import numpy as np
# 크기가 1인 차원을 가진 배열 생성
a = np.array([[[1], [2], [3]]])
# 크기가 1인 차원 제거
b = np.squeeze(a)
print(b)
결과:
[[1]
[2]
[3]]
위의 예제에서 a
배열은 3차원 배열입니다. 그러나 내부에 [1], [2], [3]
과 같은 크기가 1인 차원을 가지고 있습니다. squeeze()
함수를 사용하여 이러한 크기가 1인 차원을 제거하면 2차원 배열인 b
가 생성됩니다.
이렇듯 numpy
를 사용하면 배열의 차원을 추가하거나 제거할 수 있어 데이터 처리 및 분석에 유용합니다. 다차원 배열을 다룰 때 이러한 기능을 적절히 활용하면 원하는 결과를 쉽게 얻을 수 있습니다.
이상으로 numpy
에서 차원 추가 및 제거에 대해 알아보았습니다. 차원 조작은 데이터를 다루는데 매우 중요한 요소이므로, 유용한 기능입니다. numpy
의 다양한 기능을 활용하여 데이터 처리를 효과적으로 진행할 수 있습니다.