내 잡다한 노트

(numpy)배열 생성, Shape 본문

Language/Python

(numpy)배열 생성, Shape

peanutwalnut 2023. 4. 4. 23:48

# 배열 생성

기본적으로 np.array() 함수를 사용한다.

ex) a = np.array([[1, 2, 3,], [1, 2, 3]])

 

+) numpy는 ndarray라는 클래스를 사용하고 반면에 파이썬은 list를 사용한다.

numpy는 C로 구현된 CPython에서만 사용되고, 행렬 연산이 c로 구현된 내부 반복문을 사용해 python 반복문에 비해 

속도가 빠르다.

차이점)

ndarray 클래스는 연속적인 메모리 배치를 가지고 있어 모든 원소가 같은 자료형이여야 한다.

ndarray 클래스는 벡터화 연산을 지원한다. a*b를 하면 각 요소들끼리 서로 곱한 결과를 보여준다.

 

np.zeros((a, b), dtype=) 튜플 형태로 인자를 넣어 shape가 (a, b)이고 값은 모두 0인 행렬을 생성. dtype은 값들을 int형으로 할 것인지, float로 할 것인지를 결정할 수 있다.

np.ones((a, b)) 위와 동일하고 값이 모두 1인 행렬

np.arage(5) 0부터 5-1 까지의 값을 가진 행렬 생성. 

 

# Shape

머신러닝에서 행렬의 차원을 shape라는 개념으로 표현한다.

그래서 numpy에서 배열의 형태를 알아보게 해주는 shape라는 함수를 만들었다.

이 함수는 배열의 형태를 튜플로 반환한다.

 

1 2 3 4

1 2 3 4

1 2 3 4

라는 행렬이 있다면 (3, 4)의 shape을 가진다고 표현한다.