Python/초심자를 위한 빅데이터 분석 및 머신러닝 응용과정

[easyupclass] 초심자를 위한 빅데이터 분석 및 머신러닝 응용과정(파이썬) 19강 - numpy 2

김초송 2022. 10. 26. 01:31
A=[[1,2,3],[4,5,6]]
B=[[4,5,6],[1,2,3]]

res = [[c+d for c,d in zip(a,b)] for a,b in zip(A,B)]
A = [[1,2,3],[4,5,6]]
B = [[6,5],[4,3],[2,1]]

res = [[sum(a*b for a, b in zip(A_row, B_col)) for B_col in zip(*B)] for A_row in A]

- *B : B의 원소들을 풀어버린다
- zip(*B) : B의 원소들을 풀어서 첫번째 원소들을 묶어서 넣는다

 

zip(*)

- 리스트로 행과 열 바꾸기

   = transpose

ls = [[1,2,3],[4,5,6]]
ls2 = list(map(list, zip(*ls)))

 

행렬 곱

a = np.array(A)
b = np.array(B)

a@b
np.dot(a, b)

 

행렬의 결합 = concatenate

- np.concatenate((array1, array2), axis)

- 인자는 튜플로 넣음

- default : axis = 0 

- 1차원일 경우 0 이면 row, 1이면 col

- 방향이나 row, col 값이 맞지 않으면 에러

 

- np.c_[array1, array2]

- col 방향으로 결합

- col로 결합하면 차원이 바뀔 수 있음

 

- np.r_[array1, array2]

- row 방향으로 결합