code name blue

파이썬 머신러닝/딥러닝 : numpy - 연산 본문

Programming/Python

파이썬 머신러닝/딥러닝 : numpy - 연산

byebyeblue 2019. 5. 22. 17:13


Numpy 연산


▶ Numpy 1차원 연산

연산자를 이용할 경우에는 +, -, *, / 기호를 동일하게 사용한다.

함수를 사용할 경우에는 덧셈 add(), 뺄셈 subtract(), 곱셈 multiply(), 나눗셈 divide()을 사용한다.


1
2
3
import numpy as np
= np.array([123])
= np.array([456])



1. 덧셈

배열 a와 배열 b가 있을 때, a+b는 a[0]+b[0], a[1]+b[1], ... 와 같은 방식으로 결과를 return 한다.


1
2
3
4
5
6
7
8
= a+b
#함수를 이용할 경우
#c = np.add(a, b)
 
print(c)
 
#Result
[5 7 9]




2. 뺄셈

배열 a와 배열 b가 있을 때, a-b는 a[0]-b[0], a[1]-b[1], ... 와 같은 방식으로 결과를 return 한다.


1
2
3
4
5
6
7
8
= a-b
#함수를 이용할 경우
#c = np.subtract(a, b)
 
print(c)
 
#Result
[-3 -3 -3]




3. 곱셈

배열 a와 배열 b가 있을 때, a-b는 a[0]*b[0], a[1]*b[1], ... 와 같은 방식으로 결과를 return 한다.


1
2
3
4
5
6
7
8
= a*b
#함수를 이용할 경우
#c = np.multiply(a, b)
 
print(c)
 
#Result
[4 10 18]




4. 나눗셈

배열 a와 배열 b가 있을 때, a-b는 a[0]/b[0], a[1]/b[1], ... 와 같은 방식으로 결과를 return 한다.


1
2
3
4
5
6
7
8
= a/b
#함수를 이용할 경우
#c = np.divide(a, b)
 
print(c)
 
#Result
[0.25 0.4 0.5]







▶ Numpy 2차원 배열 연산 : Matrix


Khan Academy [Multiplying matrices]


위의 그림과 같이 일반적인 행렬의 곱연산을 할 때는 dot() 함수를 이용한다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import numpy as np
 
list1 = [
        [12],
        [34]
]
 
list2 = [
        [56],
        [78]
]
 
= np.array(list1)
= np.array(list2)
 
# numpy에서 vector와 matrix의 product(값)를 구하기 위해서 dot() 함수를 이용한다
 
print("두 matrix에 대한 product")
 
product = np.dot(a, b)
 
print(product)
 
#Result
두 matrix에 대한 product
[[19 22]
 [43 50]]







▶ Numpy 2차원 배열 연산


numpy에서는 배열간의 연산을 위한 여러 함수들을 제공하고 있다.
sum(), product() : 이 함수들은 axis 옵션을 사용한다. axis 0이면 컬럼끼리, 1이면 행끼리 계산한다.

1
= np.array([[12], [34]])




1. 배열의 각 요소를 더하는 함수 sum()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
= np.sum(c)
print(s)
#Result
10 #c의 모든 요소의 값을 합한 값(1+2+3+4)
 
= np.sum(a, axis = 0)
print(s)
#Result
[4 6#컬럼끼리 더한 값 출력(1+3, 2+4)
 
= np.sum(a, axis = 1)
print(s)
#Result
[3 7#같은 행끼리 더한 값(1+2, 3+4)




2. 배열의 요소들을 곱하는 함수 product()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
= np.prod(a)
print(p)
#Result
24 #c의 모든 요소의 값을 곱한 값(1*2*3*4)
 
= np.prod(a, axis = 0)
print(p)
#Result
[3 8#컬럼끼리 곱한 값 출력(1*3, 2*4)
 
= np.prod(a, axis = 1)
print(p)
#Result
[2 12#같은 행끼리 곱한 값 출력(1*2, 3*4)




Comments