데이터 및 C언어/Python 공부 내용

[Python] Python 라이브러리 Numpy에서의 행렬 다루기.

  • -
반응형

 

 

[Python] Python 라이브러리 Numpy에서의 행렬 다루기.

 


파이썬의 계산 라이브러리, Numpy에서는 행렬을 "어레이(array)라고 부릅니다.

[넘파이의 어레이 클래스는 ndarray, n-dimensional array란 뜻입니다, 고차원 어레이(행렬)이란 뜻으로 보입니다]

 

 

2차원 행렬과 3차원 행렬

 

 

차원(dimemsion)은 우리가 통상적으로 이야기하는 "행렬에서의 차원"입니다.

 

2차원 어레이라면, N행 * M열로 이루어진 N*M 행렬이고,

3차원 어레이라면 , 행*열*깊이 값이 있는 N*M*L 행렬을 의미합니다.

[4차원 이라면 여기에 페이지까지 추가]

 

 

넘파이 어레이를 생성하려면 np.array함수를 사용합니다.

 

넘파이 어레이에서 대괄호 기호 []는 어레이(행렬)의 한 행으로 이해하면 됩니다.

 

2*3행렬을 만든다면

 

 

 


이런 행렬을 가지고 사칙연산을 수행한다면

 

 

      행렬의 공식처럼 적용되게 됩니다.

      사칙연산을 수행하기 위해서는,

      두 행렬의 열과 행의 수[행렬의크기]가 서로 같아야 한다는 전제조건이 지켜져야 합니다.

 

       더하기는, 각 컬럼끼리 더해주면 되고,

      뺄셈은 각 컬럼끼리 빼주면 됩니다.

 

        곱셉은 기존 행렬공식과 차이점이 있습니다.

       기존 행렬에서의 곱은 

이런식으로 각 컬럼들끼리 복합적으로 곱을 하고 더한 값이 최종 결과값으로 나오는 것이 공식이지만

 

넘파이 어레이(행렬)에서의 곱은

단순하게 각 컬럼(성분)끼리의 곱셉 결과를 출력해주게 됩니다.

 

나누기와 제곱도 마찬가지고, 단순하게 성분끼리 나눈 값 & 제곱한 을 출력해주게 됩니다.

 

 

 

# 진짜 행렬끼리의 곱을 계산하고 싶으면

   * 대신에 @을 사용해주면 됩니다. [ 행렬곱의 공식처럼, 앞의 행렬의 열과 뒤의 행렬의 행의 수가 같아야 합니다]

 

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.