NumPy에서 벡터로 행렬 나누기
- Python의 Array Slicing 방법을 사용하여 NumPy의 벡터로 행렬 나누기
- NumPy의 전치 방법을 사용하여 NumPy의 벡터로 행렬 나누기
-
numpy.reshape()
함수를 사용하여 NumPy에서 벡터로 행렬 나누기
이 튜토리얼에서는 NumPy에서 행렬을 벡터로 나누는 방법에 대해 설명합니다.
Python의 Array Slicing 방법을 사용하여 NumPy의 벡터로 행렬 나누기
행렬은 2D 배열이고 벡터는 1D 배열입니다. 행렬의 요소를 각 행의 벡터 요소로 나누려면 벡터에 새로운 차원을 추가해야합니다. Python의 배열 슬라이싱 방법을 사용하여 벡터에 새로운 차원을 추가 할 수 있습니다. 다음 코드 예제는 Python에서 배열 분할 방법을 사용하여 행렬의 각 행을 벡터로 나누는 방법을 보여줍니다.
import numpy as np
matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])
vector = np.array([2, 4, 6])
matrix = matrix / vector[:, None]
print(matrix)
출력:
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
먼저np.array()
함수를 사용하여 행렬과 벡터를 만들었습니다. 그런 다음 슬라이싱 방법을 사용하여 벡터에 새 축을 추가했습니다. 그런 다음 행렬을 배열로 나누고 그 결과를 행렬 안에 저장했습니다.
NumPy의 전치 방법을 사용하여 NumPy의 벡터로 행렬 나누기
행렬을 전치하여 행렬의 각 행을 각 벡터 요소로 나눌 수도 있습니다. 그 후 결과를 전치하여 행렬의 이전 방향으로 돌아갈 수 있습니다. 다음 코드 예제를 참조하십시오.
import numpy as np
matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])
vector = np.array([2, 4, 6])
matrix = (matrix.T / vector).T
print(matrix)
출력:
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
위의 코드에서 우리는 행렬의 전치를 취하여 벡터로 나눴습니다. 그 후, 결과를 전치하여matrix
에 저장했습니다.
numpy.reshape()
함수를 사용하여 NumPy에서 벡터로 행렬 나누기
이 접근 방식의 기본 아이디어는 먼저 벡터를 2D 배열로 변환해야한다는 것입니다. numpy.reshape()
함수를 사용하여 벡터를 각 행에 하나의 요소 만 포함하는 2D 배열로 변환 할 수 있습니다. 그런 다음 행렬의 각 행을 벡터의 각 행으로 쉽게 나눌 수 있습니다.
import numpy as np
matrix = np.array([[2, 2, 2], [4, 4, 4], [6, 6, 6]])
vector = np.array([2, 4, 6])
matrix = matrix / vector.reshape((3, 1))
print(matrix)
출력:
[[1. 1. 1.]
[1. 1. 1.]
[1. 1. 1.]]
위의 코드에서np.reshape()
함수를 사용하여vector
를 2D 배열로 변환했습니다. 그 후matrix
를vector
로 나누고 결과를matrix
에 저장했습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn