1) 넘파이(Numpy)
넘파이(Numpy)는 수치 데이터를 다루는 파이썬 패키지이다. Numpy의 핵심이라고 불리는 다차원 행렬 자료구조인 ndarray를 통해 벡터 및 행렬을 사용하는 선형 대수 계산에서 주로 사용된다.
numpy 임포트하기
import numpy as np
2) np.array()
np.array()는 리스트, 튜플, 배열로부터 ndarray를 생성한다.
인덱스가 항상 0으로 시작한다는 특징이 있다.
2-1) 리스트로 1차원 배열 생성하기
a = np.array([1, 2, 3, 4, 5])
print(type(a))
print(a)
2-2) 튜플로 1차원 배열 생성하기
b = tuple(a)
print(type(b))
print(b)
참고로 튜플은 요소의 변경, 추가, 삭제가 불가능하다는 점을 제외하고는 리스트와 같은 기능을 하고 비슷한 형태를 갖고 있다. 따라서 튜플을 리스트로 만들거나 리스트를 튜플로 만드는 것이 가능하다.
2-3) 2차원 배열 생성하기
b = np.array([[10, 20, 30], [60, 70, 80]])
print(b)
여기서 주의할 점은, array() 안에는 하나의 리스트만 들어가므로 리스트의 리스트를 넣어야 한다.
행렬의 차원 및 크기를 확인하려면 ndim 속성과 shape 속성을 출력한다.
print(b.ndim)
print(b.shape)
ndim은 차원의 수를, shape는 행렬의 크기를 나타낸다.
3) ndarray의 초기화
리스트를 이용한 방법 말고도 다양한 ndarray 초기화 방법이 있다.
3-1) zeros()
a = np.zeros((2,3))
zeros()는 해당 배열에 모두 0을 삽입한다.
3-2) ones()
a = np.ones((2,3))
ones()는 모두 1을 삽입한다.
3-3) full()
a = np.full((2,2),7)
full()은 배열의 모든 값에 사용자가 지정한 특정 상수값을 넣는다.
3-4) eye()
a = np.eye(3)
eye()는 대각선으로는 1이고 나머지는 0인 2차원을 생성한다.
3-5) numpy 난수 생성
a = np.random.rand(5)
print(a)
b = np.random.random((2,2))
print(b)
random.rand() 함수는 주어진 행태의 난수 array를 생성한다. 난수 array는 [0,1) 범위에서 균일한 분포를 갖는다.
4) np.arange()
np.arange()는 지정해준 범위에 대해서 배열을 생성해준다.
a = np.arange(10)
print(a)
np.arange(i, j, k)는 i부터 j-1까지 k씩 증가하는 배열을 생성한다.
np.array(1, 10, 2) # np.arrange(start, stop, dtype)
Reference
위키독스
온라인 책을 제작 공유하는 플랫폼 서비스
wikidocs.net
'CS' 카테고리의 다른 글
[Python] 백준 10171번 :: 파이썬 특수문자 출력 (0) | 2021.04.18 |
---|---|
[Python] 딥 러닝 프레임워크:: Tensorflow, Keras, Scikit-learn, Gensim, NLTK (1) | 2021.01.21 |
[Python] 파이썬(Python) 설치 및 가상 환경 설정, 주피터 노트북(jupyter notebook) 설치 (for Windows 10) (0) | 2021.01.21 |