[딥러닝기초] 파이썬 넘파이(numpy) 기본 사용법
어떤 딥러닝 책을 보더라도 배열이나 행렬 계산이 많이 등장한다 .. 넘파이의 배열 클래스인 numpy.array에는 편리한 함수가 많이 준비되어있어서 딥러닝을 구현할 때 많이 이용한다.
1. 넘파이 가져오기
넘파이는 외부 라이브러리이기 때문에 넘파이를 사용할 수 있게 import 해야한다. 여기서 as np 는 numpy의 별칭을 np 로 두겠다는 의미이다. 즉 numpy를 하지않고 넘파이가 제공하는 함수를 np를 통해 참조할 수 있게 된다.
1 | import numpy as np | cs |
2. 배열 생성하기
넘파이 배열을 만들 때는 np.array() 메서드를 이용한다.
이 함수는 파이썬의 리스트를 인수로 받아서 넘파이가 제공하는 특수한 형태의 배열을 반환한다.
1 2 3 | import numpy as np x = np.array([1, 2, 3, 4, 5]) | cs |
3. 산술 연산
넘파이 배열로 산술 연산을 할수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | import numpy as np x = np.array([1, 2, 3, 4, 5]) y = np.array([6, 7, 8, 9, 10]) print(x) print(y) print(x+y) print(x*y) print(x-y) [1 2 3 4 5] [ 6 7 8 9 10] [ 7 9 11 13 15] [ 6 14 24 36 50] [-5 -5 -5 -5 -5] | cs |
4. 다차원 배열
위의 예시는 1차원 배열인데 넘파이에서는 다차원 배열도 작성할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | import numpy as np x = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]) y = np.array([[2, 2, 2, 2, 2], [4, 4, 4, 4, 4]]) print(x.shape) [[ 1 2 3 4 5] [ 6 7 8 9 10]] [[2 2 2 2 2] [4 4 4 4 4]] (2, 5) | cs |
shape 함수는 각 배열의 차원의 크기(2, 5즉 2행 5열)를 반환해준다. 물론 print(x) , print(y)는 생략했다.
- 수학에서는 1차원 배열은 벡터(Vector) 2차원배열은 행렬(Matrix)라고 한다. 그리고 벡터와 행렬을 일반화한 것을 텐서(Tensor)라고 한다.
5. 브로드캐스트(broadcast)
넘파이에서는 형사이 다른 배열끼리 계산할 수 있다. 아래와 같은 예를 보면 알 것이다.
x 는 2차원이고 y는 1차원인데 배열 y가 x의 형상으로 변형된 후 원소별 연산이 이루어졌다.
1 2 3 4 5 6 7 8 9 | import numpy as np x = np.array([[1, 2], [3,4]]) y = np.array([20, 30]) print(x*y) [[ 20 60] [ 60 120]] | cs |
'기타 > 기타 잡다한 것들' 카테고리의 다른 글
우분투 명령어 정리 (0) | 2018.11.19 |
---|---|
[딥러닝기초] 데이터 시각화 라이브러리(matplotlib) 기본 사용법 (0) | 2018.10.28 |
[파이썬기초] 클래스(Class) (0) | 2018.10.27 |
파이썬 장고(Django) 에서 URL 로 매개변수 넘기기(GET방식) (2) | 2018.10.24 |
아나콘다(Anaconda) 4.5 버전에서 KoNLPy(형태소분석기) 설치하기 (0) | 2018.10.19 |