>백엔드 개발 >파이썬 튜토리얼 >NumPy\'np.newaxis\'를 사용하여 배열 작업에서 브로드캐스팅을 활성화하려면 어떻게 해야 합니까?

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-26 06:18:30969검색

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

NumPy의 'np.newaxis'란 무엇이며 어떻게 사용하는가

'np.newaxis'에 대한 이해

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

'np.newaxis' 사용 시나리오

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

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

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

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

시나리오 3: 어레이를 더 높은 차원으로 승격

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

사용 예

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

<code class="python"># Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]</code>

방송을 활성화하려면:

<code class="python"># 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</code>

대안: 'np.expand_dims'

'np.expand_dims'는 새 축의 삽입 지점을 지정하기 위해 직관적인 'axis' kwarg를 제공하는 'np.newaxis'의 대안입니다.

추가 참고 사항

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

위 내용은 NumPy\'np.newaxis\'를 사용하여 배열 작업에서 브로드캐스팅을 활성화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.