"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > NumPy\'np.newaxis\'를 사용하여 배열 작업에서 브로드캐스팅을 활성화하려면 어떻게 해야 합니까?

NumPy\'np.newaxis\'를 사용하여 배열 작업에서 브로드캐스팅을 활성화하려면 어떻게 해야 합니까?

2024-11-08에 게시됨
검색:558

How can NumPy\'s \'np.newaxis\' be used to enable broadcasting in array operations?

NumPy의 'np.newaxis'란 무엇이며 사용 방법

'np.newaxis' 이해

NumPy의 'np.newaxis'('None'이라고도 함)는 배열에 축을 일시적으로 추가하는 데 사용되는 의사 인덱스입니다. 한 번 사용하면 배열의 차원이 1씩 늘어납니다. 예를 들어 1D 배열은 2D 배열이 되고, 2D 배열은 3D 배열이 되는 식입니다.

'np.newaxis' 사용 시나리오

시나리오 1: 1D 배열에서 행/열 벡터 생성

'np.newaxis'를 사용하면 1D 배열을 행 벡터로 명시적으로 변환할 수 있습니다(첫 번째 차원을 따라 축을 삽입하여). 또는 열 벡터(두 번째 차원을 따라 축 삽입).

시나리오 2: NumPy 브로드캐스팅 활성화

'np.newaxis'는 다음과 관련된 작업을 수행할 때 유용합니다. NumPy 방송. 예를 들어 '(5,)' 및 '(3,)' 모양의 배열 두 개를 추가하는 것을 고려해 보세요. NumPy는 호환되지 않는 모양으로 인해 오류를 발생시킵니다. 하나의 배열의 차원을 늘리기 위해 'np.newaxis'를 사용하면 브로드캐스팅을 활성화하여 작업을 수행할 수 있습니다.

시나리오 3: 배열을 더 높은 차원으로 승격

'np.newaxis'는 배열을 더 높은 차원으로 승격시키기 위해 여러 번 사용될 수 있으며, 이는 고차 배열(텐서)에 필요할 수 있습니다.

사용 예

To 'np.newaxis'를 사용하여 슬라이싱 표현식에 삽입하세요. 예:

# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]

브로드캐스팅을 활성화하려면:

# Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new   x2

대안: 'np.expand_dims'

'np.expand_dims'는 직관적인 '축'을 제공하는 'np.newaxis'의 대안입니다. kwarg를 사용하여 새 축의 삽입 지점을 지정합니다.

추가 참고 사항

  • 'np.newaxis'는 'np.reshape'와 달리 일시적으로 축을 추가합니다. 이는 배열을 새로운 레이아웃으로 재구성합니다.
  • 'np.newaxis'와 'None'은 동일한 객체입니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3