NumPy에서 벡터로 행렬 나누기

Muhammad Maisam Abbas 2023년1월30일
  1. Python의 Array Slicing 방법을 사용하여 NumPy의 벡터로 행렬 나누기
  2. NumPy의 전치 방법을 사용하여 NumPy의 벡터로 행렬 나누기
  3. numpy.reshape()함수를 사용하여 NumPy에서 벡터로 행렬 나누기
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 배열로 변환했습니다. 그 후matrixvector로 나누고 결과를matrix에 저장했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

관련 문장 - NumPy Vector

관련 문장 - NumPy Matrix