반응형
본 글은 대학교 강의를 듣고 공부한 내용을 정리한 글로 틀린 내용이 있을 수 있습니다.
1. Numpy 란?
- Python에서 과학적 컴퓨팅을 위한 기본 패키지(라이브러리)
- 특히 배열에 대한 빠른 연산을 위한 다양한 루틴을 제공
- Numpy의 핵심인 ndarray(배열)이 python의 시퀀스와 다른 점은 다음과 같다.
Numpy의 ndrarray의 특징
- Numpy 배열은 Python 목록과 달리 생성 시 크기가 고정되어 있다. -> 즉 크기가 바뀌면 기존의 array는 삭제
- 배열의 요소는 모두 동일한 데이터 유형이어야 하며, 따라서 메모리에서 동일한 크기
- 많은 수의 데이터에 대한 고급 수학 및 기타 유형의 연산에 용이
2. array를 만들어보자
** numpy가 설치되어있지 않은 경우에는 설치 해주세요
pip install numpy;

(1) 1차원 배열 만들기 : np.array([])
#1차원 array
arr1 = np.array([0,2,5.5,7])
print(arr1)
arr2 = np.array([0,3,5,7])
print(arr2)

- 데이터 타입에 차이가 있어 보인다. 확인해보자! : print(<array name>.dtype)
#배열의 데이터타입 확인
print(arr1.dtype)
print(arr2.dtype)

- 위에서 말했다 시피, numpy의 배열은 모두 같은 데이터 타입으로 구성된다.
- arr1의 경우 5.5의 실수형이 들어있기 때문에 배열 전체가 float 타입이, arr2는 모두 정수형으로 구성되어있기 때문에 int형이다.
(2) 2차원 배열 만들기 : np.array([[],[]])
#2차원 배열을 만들어보자
arr1 = np.array([[1,2,3],[4,5,6]])
print(arr1)
print(arr1.shape)

- [] 큰 대괄호 안에, [],[] 두개를 넣어 2행 3열의 2차원 배열을 만들어냈다.
- 2차원 배열 : 행과 열로만 구성되어있는 배열

- 이렇게 []안에 []3개를 넣으면 3행 짜리 2차원 배열이 되는 것이다.
(3) (추가) 3차원 배열을 만들어보자
- 3차원 부터는 떠올리기가 점점 어려워진다. 2차원 배열을 쌓아 올린 형태인 3차원 배열까지만 한 번 만들어보자
#3차원 배열
array_3d = np.array([[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]])
print(array_3d)
print(array_3d.shape)

- 배열의 모양을 확인했을 때 나오는 (2,2,3)의 의미는 (2,3)의 행렬이 2개 겹쳐져있다는 뜻이다.
- 머리가 아파오니 이제 그만....
반응형