Numpy를 이용한 행렬 다루기 1탄
2018, Dec 13
이번 글에서는 Numpy를 이용할 때 가장 기본이 되는 기본중의 기본 연산에 대하여 한번 정리해 보려고 합니다. 한번 쭉쭉 읽으시면 도움이 되실거라 생각됩니다. 그럼 정리해 보겠습니다.
Transpose 연산
# Load library
import numpy as np
# 벡터 생성
vector = np.array([1, 2, 3, 4, 5, 6])
# 행렬 생성
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Tranpose
vector.T
# Transpose
matrix.T
Array 에서 element 선택
# Load library
import numpy as np
# Create row vector
vector = np.array([1, 2, 3, 4, 5, 6])
# 벡터에서 원소를 선택하는 방법
vector[1]
# Create matrix
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 행렬에서 원소를 선택하는 방법
matrix[1,1]
# Create matrix
tensor = np.array([
[[[1, 1], [1, 1]], [[2, 2], [2, 2]]],
[[[3, 3], [3, 3]], [[4, 4], [4, 4]]]
])
# 3차원 이상의 텐서에서 원소를 선택하는 방법
tensor[1,1,1]
행렬 shape 바꾸기 (reshape)
# Load library
import numpy as np
# 4x3 행렬 생성
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[10, 11, 12]])
# 행렬 reshape
matrix.reshape(2, 6)
역행렬 만들기
import numpy as np
matrix = np.array([[1, 4],
[2, 5]])
# 역행렬 생성 : linalg.inv
np.linalg.inv(matrix)
행렬의 대각 성분 구하기
import numpy as np
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 행렬의 대각 성분을 구합니다.
matrix.diagonal()
# 행렬의 Trace를 구합니다.
matrix.diagonal().sum()