>  기사  >  백엔드 개발  >  Python을 사용하여 행렬에 사용자 정의 차원 추가

Python을 사용하여 행렬에 사용자 정의 차원 추가

王林
王林앞으로
2023-09-04 19:01:101256검색

Python을 사용하여 행렬에 사용자 정의 차원 추가

행렬은 선형대수학의 기본 데이터 구조로 다양한 과학 및 수학 계산에 널리 사용됩니다. 행렬은 행과 열로 배열된 직사각형 숫자 배열입니다. 일반적으로 2차원 그리드로 표현됩니다. 그러나 어떤 경우에는 데이터 변환을 수행하거나 고급 수학 연산을 수행하기 위해 추가 차원이 있는 행렬에 대해 작업해야 할 수도 있습니다.

다용도 프로그래밍 언어인 Python은 행렬 작업을 위한 강력한 도구를 제공하는 풍부한 라이브러리 생태계를 제공합니다. 그러한 라이브러리 중 하나가 Numerical Python의 약자인 NumPy입니다. NumPy는 행렬 및 다양한 수학 함수를 포함한 배열 작업을 위한 효율적이고 편리한 도구를 제공합니다.

구현을 진행하기 전에 컴퓨터에 NumPy가 설치되어 있는지 확인하세요. 아직 설치하지 않았다면 Python 패키지 설치 프로그램 pip를 사용하여 다음 명령을 실행하여 쉽게 설치할 수 있습니다. -

으아아아

NumPy를 설치한 후에도 계속해서 행렬을 생성하고 수정할 수 있습니다.

다음으로 numpy.array 함수를 사용하여 행렬을 생성하겠습니다. 여기에 예가 있습니다 -

으아아아

array 함수는 중첩된 목록을 인수로 받아들입니다. 여기서 각 목록은 행렬의 행을 나타냅니다. 이 예에는 3x3 행렬이 있습니다.

맞춤 측정기준 추가

행렬에 사용자 정의 차원을 추가하려면 numpy.newaxis 속성을 사용할 수 있습니다. newaxis 속성을 사용하면 기존 행렬의 차원을 한 차원 늘릴 수 있습니다. 어떻게 작동하는지 봅시다

으아아아

위 코드에서 [:,np.newaxis]는 두 번째 위치에 새 축을 삽입하여 행렬에 새 차원을 추가합니다. 콜론: 모든 행을 의미하고, np.newaxis는 새 축이 삽입되어야 하는 위치를 의미합니다. 이 작업은 원래의 2차원 행렬을 3차원 행렬로 효과적으로 변환합니다.

원본 행렬과 새 행렬을 인쇄하여 변경 사항을 관찰해 봅시다 -

으아아아

출력

코드를 실행하면 다음과 같은 출력이 생성됩니다

으아아아

보시다시피 새 행렬은 원래 행렬에 비해 차원이 하나 더 많습니다. 원본 행렬의 각 행은 이제 자체 내부 배열로 캡슐화됩니다. 이는 행렬의 차원을 효과적으로 증가시킵니다. 사용자 정의 차원을 추가하는 것은 고급 기계 학습 알고리즘 또는 텐서 계산과 같이 고차원 행렬이 필요한 작업을 수행해야 하는 시나리오에 유용합니다.

NumPy에서 방송

NumPy의 행렬에 사용자 정의 차원을 추가할 때 이해해야 할 중요한 개념은 브로드캐스팅입니다. 브로드캐스팅은 다양한 모양의 배열을 함께 작동할 수 있게 해주는 NumPy의 강력한 메커니즘입니다. 행렬에 사용자 정의 차원을 추가할 때 브로드캐스트는 계산과 관련된 배열의 모양을 자동으로 조정할 수 있습니다.

방송을 시연하는 예를 생각해 봅시다 -

으아아아

위 코드에는 2x3 행렬(matrix1)과 1D 배열(matrix2)이 있습니다. 행렬1의 각 행에 행렬2를 추가하려면 간단히 + 연산자 p>를 사용하면 됩니다. 으아아아

출력은

입니다. 으아아아

이 예에서 NumPy는 행렬 1의 모양과 일치하도록 1차원 행렬 2를 자동으로 브로드캐스트하여 요소별 추가가 수행될 수 있도록 합니다.

고차원 행렬에 맞춤 차원 추가

2D 행렬에 사용자 정의 차원을 추가하는 것 외에도 더 높은 차원의 행렬에 사용자 정의 차원을 추가할 수도 있습니다. 프로세스는 동일하게 유지되며 원하는 새 축 위치만 지정하면 됩니다.

3D 매트릭스의 예를 살펴보겠습니다

으아아아

위의 3차원 행렬 끝에 새로운 차원을 추가하고 싶다고 가정해 보겠습니다. 비슷한 방식으로 np.newaxis 속성을 사용할 수 있습니다.

으아아아

위 코드에서...를 사용하여 기존의 모든 치수를 나타내고 끝에 np.newaxis를 삽입합니다. 그러면 4차원 행렬이 생성됩니다.

매트릭스 재구성

맞춤 차원 추가는 일반적으로 행렬 재구성과 관련이 있습니다. NumPy는 차원 추가 또는 제거를 포함하여 행렬의 모양을 변경할 수 있는 모양 변경 기능을 제공합니다. 이 기능은 행렬의 구조를 조작해야 할 때 편리합니다.

다음은 행렬의 모양을 변경하고 사용자 정의 차원을 추가하는 방법에 대한 예입니다. -

으아아아

위 코드에서 reshape 함수는 행렬의 모양을 (2, 3, 1)로 변경하는 데 사용되었습니다. 마지막에 추가된 측정기준은 추가하려는 맞춤 측정기준에 해당합니다.

결론

이 기사에서는 Python 및 NumPy를 사용하여 행렬에 사용자 정의 차원을 추가하는 것과 관련된 다른 개념을 살펴봅니다. 다양한 모양의 배열을 함께 조작할 수 있는 브로드캐스팅에 대해 논의하고 추가 차원이 있는 행렬에 대한 계산을 수행할 때 이것이 어떻게 유용할 수 있는지 살펴보았습니다.

또한 더 높은 차원의 행렬에 사용자 정의 차원을 추가하는 방법과 행렬의 모양을 변경하고 프로세스에 사용자 정의 차원을 포함하는 방법도 다루었습니다. 이러한 기술은 특정 요구 사항을 충족하기 위해 행렬을 조작할 때 유연성을 제공합니다.

이러한 개념을 이해하고 NumPy에서 제공하는 도구를 활용하면 다양한 차원의 행렬을 효율적으로 처리하고 복잡한 계산을 수행할 수 있습니다.

위 내용은 Python을 사용하여 행렬에 사용자 정의 차원 추가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제