[1] Namespace and import
- python, built-in library <-(import) Numpy, matplotlib, opencv, NLTK
- 만약 sum이라는 함수가 존재할 때 python내부, library1, library2 어디의 sum인지 모름. 그래서 namespace를 만들어줌
- Numpy를 사용할 때 python안에 numpy라는 namespace를 만들어주고 그 안에 수많은 기능들을 쓸 수 있게 됨
- ndarray는 tensor 연산과 관련된 다양한 api(함수)들을 제공해준다
#Namespace and Import
import numpy
scores = [10,20,30,40,50]
print("mean: ", numpy.mean(scores))
print("variance: ", numpy.var(scores))
import numpy as np #namespace를 약자로 부름
print("mean: ", np.mean(scores))
print("variance: ", np.var(scores))
#ndarray
a = np.array([1,2,3])
print(type(a)) # <class 'numpy.ndarray'>
for attr in dir(a):
print(attr)
[2] Element-wise Operation of ndarrays
u = [1,2,3]
v = [4,5,6]
w = u + v
print(w)
w = [0]*len(u)
for data_idx in range(len(u)):
w[data_idx] = u[data_idx] + v[data_idx]
u = np.array([1,2,3])
v = np.array([4,5,6])
print(u+v)
#2차원 행렬
M = [[1,2,3],[4,5,6],[7,8,9]]
N = [[11,12,13], [14,15,16],[17,18,19]]
n_row, n_col = len(M), len(M[0])
P = [[0]*n_col for _ in range(n_col)]
for row_idx in range(n_row):
for col_idx in range(n_col):
P[row_idx][col_idx] = M[row_idx][col_idx] + N[row_idx][col_idx]
for P_row in P:
print(P_row)
M = np.array([[1,2,3],[4,5,6],[7,8,9]])
N = np.array([[11,12,13],[14,15,16],[17,18,19]])
print(M + N)