Programmers/데브코스 인공지능

[프로그래머스 스쿨 AI] Weak 3 numpy

1. numpy 

파이썬에서 array를 좀더 활용적이게 쓸 수 있게 해주는 모듈 이라 한다

1. 사용법 

함수 내용 사용법
np.array(리스트) 리스트 넣어서 사용함 np.array([[1,2,3],[4,5,6]])
np.array(리스트) - np.array(리스트) 더하기 빼기 곱하기 나누기 하는법 np.array( [1,2,3] ) -  np.array( [4,5,6] )
[-3,-3,-3]
만들어진array[ : , None] 범위 출력 그리고 없는곳은 복사해서 이어감 y = np.array([0,1,0])
y = y[:,None]
[[0] [1] [0]]
np.zeros(( 크기 )) 0으로 채움 np.zeros(( 3 , 3 , 3 ))
np.ones(( 크기 )) 1로 채움 np.ones(( 3 , 3 , 3 ))
np.diag(( 1 ,  2 ,  4 ))
np.eye( 3 ,dtype= int )
대각선에 넣음 둘다 같음 diag = np.diag(( 1 ,  2 ,  4 ))
eye=np.eye( 3 ,dtype= int )
곱할거1.dot(곱할거2)
곱할거1 @ 곱할거2
곱해줌 a.dot(b)
a @ b
np.array([[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]]) .trace() 대각선 더해줌 arr = np.array([[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]])
print (arr.trace())
np.eye( 2 ,dtype= int ).trace()
np.linalg.det(바꿀꺼) 0이면 선형종속관계이다
자기 열 빼고 대각선으로 곱함
arr_2d = np.array([[ 2 , 3 ],[ 1 , 6 ]])
np.linalg.det(arr_2d)
arr_3 = np.array([[ 1 , 2 , 3 ],[ 4 , 5 , 6 ],[ 7 , 8 , 9 ]])
np.linalg.det(arr_3)
np.linalg.inv(바꿀거) 역행렬 구해줌 mat = np.array([[ 1 , 4 ],[ 2 , 3 ]])
mat_inv = np.linalg.inv(mat)
print (mat_inv, "\n" , mat @ mat_inv)
np.linalg.eig(바꿀거) eig_val, eig_vec = np.linalg.eig(mat) eig_val, eig_vec = np.linalg.eig(mat)
print (mat @ eig_vec[:, 0 ] , eig_val[ 0 ] * eig_vec[:, 0 ])
print (mat @ eig_vec[:, 1 ], eig_val[ 1 ] * eig_vec[:, 1 ])
print (mat @ eig_vec[:, 2 ], eig_val[ 2 ] * eig_vec[:, 2 ])
mat_inv = np.linalg.inv(mat)
print (mat_inv, "\n" , mat @ mat_inv)
np.linalg.norm(바꿀꺼) 거리 찾는거 값 제곱해서 루트하는거 arr = np.array([ 1 , 2 ])
np.linalg.norm(arr)
np.linalg.det(바꿀꺼) 행이 곱만하면 같으면 0 임
그러면 같은 기울기임 
arr = np.array([[ 1 , 2 ],[ 3 , 6 ]])
np.linalg.det(arr)

여러가지 자료구조에 대하여 써져 있었다

 

2. 코드로 보기

colab.research.google.com/drive/1DiGXMDRBxQmnUsyiQ6EN0qKrDvoOc5zP?usp=sharing

 

[Programmer][Weak3] numpy.ipynb

Colaboratory notebook

colab.research.google.com