Numpy. section1 : 객체와 ndarray. lec3 : ndarray 객체

timekeeep·2023년 2월 9일
0

Numpy

목록 보기
2/28

[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)
profile
Those who are wise will shine like the brightness of the heavens, and those who lead many to righteousness, like the stars for ever and ever

0개의 댓글