코딩(coding)/파이썬 기초 개념

[1] 벡터 Vector - numpy 넘파이 array 활용 (Danuri coding/다누리 코딩)

다누리_Danuri JUN 2022. 7. 29. 10:22

벡터(Vector)와 매트릭스(Matrix) 개념은 파이썬을 다루는데 있어서 중요한 개념 중 하나 입니다.

 

파이썬에서는 Numpy(넘파이) 라는 패키지를 활용하여 벡터와 매트릭스 연산을 쉽게 할 수 있습니다!

 

Numpy(넘파이) 패키지는

Numerical Python 의미를 가지고 있고, 파이썬의 고성능 과학 계산용 패키지 라고 보시면 됩니다 :)

 

벡터와 매트릭스는

다음과 같이 보실 수 있습니다.

 

먼저, 스칼라(scalar)는 하나의 숫자를 의미합니다.

벡터는 순서가 있는 배열(array)을 표현합니다.

매트릭스(matrix)는 행과 열, 두개의 축을 가지는 2차원 행렬을 의미합니다.

텐서(tensor)는 3차원 이상을 뜻한다고 보시면 됩니다.

Rank Name Example
0 scalar 1
1 vector [1,2]
2 matrix [[1,2],[1,2]]
3 3-tensor [[[1,2],[1,2]], [[1,2],[1,2]]]
n n-tensor  

 

먼저

벡터를 파이썬으로 살펴보면,

import numpy as np

v_array = np.array([1,2,3], float) # 하나의 데이터 type만 넣을 수 있음. 만약 문자열을 넣으면, 자동으로 float으로 변환
print(v_array)
### [1. 2. 3.]

이렇게 보실 수 있습니다. 

 

실행 시 출력은 ### 을 참고해주시면 되겠습니다!

 

1. 넘파이는 import numpy as np 형태로 불러오게 됩니다.

2. 넘파이의 array 함수를 활용하여 (코드로는 np.array() 입니다.) 벡터를 생성할 수 있습니다.

3. np.array() 에서는 하나의 데이터 type만 넣을 수 있습니다. 예를 들어 문자를 넣게 되면, 하나의 데이터 타입으로 변환되게 됩니다. 또한 dtype = np.float32 등과 같이 데이터 타입을 설정할 수도 있습니다. 뒤에 32는 32 비트를 말하며, 기본 float 으로 설정하면 64비트로 설정되게 됩니다.

 

type(v_array) #타입 확인
### numpy.ndarray

4. type() 함수를 활용하면 타입을 확인할 수 있습니다. - 여기서는 넘파이 ndarray 라고 출력되는 것을 확인할 수 있습니다.

 

v_array[0]
### 1.0

type(v_array[0])
### numpy.float64

v_array.shape
### (3,)

5. v_array[0] 이렇게 출력하게 되면, 리스트와 같이 0번째 인덱스에 있는 값을 출력하게 됩니다.

6. type() 함수를 활용하면 타입을 확인할 수 있습니다.

7. v_array.shape 을 활용하면 형태를 확인할 수 있습니다. (3,) 형태는 1차원 형태의 벡터라고 이해할 수 있습니다.

 

넘파이(Numpy)를 잘 활용한다면 파이썬의 장점을 극대화 시킬 수 있을 것이라 생각합니다.

 

 

매트릭스(matrix)는 다음 포스팅에서 이어서 하도록 하겠습니다 :)