본문 바로가기
AI/Machine-Learning

[NumPy] newaxis

by Wikinist 2023. 9. 8.

np.newaxis는 NumPy에서 배열의 차원을 추가하는데 사용되는 특별한 인덱싱 표기입니다. 이를 사용하면 기존 배열의 차원을 변경하거나 추가 차원을 만들 수 있습니다. 예를 통해 설명하겠습니다.

가정해 봅시다, 우리에게 다음과 같은 1차원 NumPy 배열 X와 스칼라 c0가 있다고 가정합시다.

import numpy as np

X = np.array([1, 2, 3, 4, 5])
c0 = 2

이제 우리는 np.linalg.norm(X - c0, axis=1)와 [np.newaxis]를 함께 사용하여 배열의 차원을 변경할 수 있습니다. 그러나 axis=1은 1차원 배열에서는 의미가 없으므로, 이 예제에서는 이를 무시할 것입니다.

result = np.linalg.norm(X - c0, axis=1)[:, np.newaxis]

이 코드에서 [np.newaxis]는 X - c0의 결과인 1차원 배열을 2차원 배열로 변환합니다. 결과인 result는 다음과 같이 됩니다.

array([[1],
       [0],
       [1],
       [2],
       [3]])

기존의 1차원 배열을 2차원 배열로 변환하여 각 원소를 행렬 형태로 저장하게 됩니다. 이러한 배열 변환은 NumPy에서 다차원 배열을 처리할 때 유용합니다.

해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.