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 방향으로 결합