NumPy는 파이썬의 컴퓨팅 과학을 위한 기본 패키지입니다. NumPy 공식 사이트 바로가기
그 중에 핵심 자료로 ndarray를 제공합니다.
이름을 보면 알 수 있듯이 n차원 배열을 캡슐화한 것입니다.
ndarray는 배열의 크기(원소를 저장하기 위한 내부 버퍼)가 동적입니다.
이번에는 numpy 모듈의 ndarray 개체를 사용하기 시작해 볼게요.
1. import 문
numpy 모듈을 사용하기 위해 import할게요.
많은 이들은 np로 축약하여 사용하는 것을 선호합니다.
import numpy as np
2. 배열 개체 정보 출력 함수 정의하기
numpy의 ndarray를 사용하기 앞서 배열 개체 정보를 출력하는 함수를 작성할게요.
ndarray에는 ndim을 통해 차원을 확인할 수 있어요.
ndarray에는 shape을 통해 구조를 확인할 수 있어요.
ndarray에는 dtype을 통해 원소 형식을 확인할 수 있어요.
def ViewArrayInfo(arr):
print("=========")
print("차원:",arr.ndim)
print("구조:",arr.shape)
print("자료 타입:",arr.dtype)
print(arr)
3. 1차원 배열 개체 생성
파이썬의 기본 시퀀스를 이용하여 배열 개체를 생성할 수 있어요.
다음은 정수 형식의 1차원 배열 개체를 생성하는 코드입니다.
data1 = [1,2,3,4,5]
arr1 = np.array(data1)
ViewArrayInfo(arr1)
다음은 실행하였을 때의 결과입니다.
=========
차원: 1
구조: (5,)
자료 타입: in
[1 2 3 4 5]
4. 다차원 배열 개체 생성
시퀀스를 원소로하는 시퀀스를 전달하여 다차원 배열 개체를 생성할 수 있어요.
다음은 정수 형식의 2차원 배열 개체를 생성하는 코드입니다.
data2 = [[1,2,3,4,5],[6,7,8,9,10]]
arr2 = np.array(data2)
ViewArrayInfo(arr2)
다음은 실행 결과입니다.
=========
차원: 2
구조: (2, 5)
자료 타입: int32
[[ 1 2 3 4 5]
[ 6 7 8 9 10]]
5. 특수한 초기 값으로 배열 개체 생성
empty 메서드를 호출하면 원소 개수만 결정하고 값은 쓰레기 값으로 채워집니다.
arr3 = np.empty(5)
viewArrayInfo(arr3)
다음은 실행 결과입니다.
=========
차원: 1
구조: (5,)
자료 타입: float64
[9.30016870e-312 9.30016871e-312 9.30016871e-312 9.30016870e-312 9.30016870e-312]
zeros 메서드를 이용하면 초기값이 0으로 채워진 배열 개체를 생성할 수 있어요.
arr4 = np.zeros(5)
ViewArrayInfo(arr4)
다음은 실행 결과입니다.
=========
차원: 1
구조: (5,)
자료 타입: float64
[0. 0. 0. 0. 0.]
ones메서드를 이용하면 초기값이 1로 채워진 배열 개체를 생성할 수 있어요.
arr5 = np.ones(5)
ViewArrayInfo(arr5)
다음은 실행 결과입니다.
=========
차원: 1
구조: (5,)
자료 타입: float64
[1. 1. 1. 1. 1.]
arange 메서드를 이용하면 순차적인 값으로 채워진 배열 개체를 생성할 수 있어요.
arr6 = np.arange(5)
ViewArrayInfo(arr6)
다음은 실행 결과입니다.
=========
차원: 1
구조: (5,)
자료 타입: int32
[0 1 2 3 4]