NumPy에서 행렬에 행 추가

Manav Narula 2023년1월30일
  1. numpy.vstack()함수를 사용하여 NumPy의 행렬에 행 추가
  2. numpy.append()함수를 사용하여 NumPy의 행렬에 행 추가
  3. numpy.r_()함수를 사용하여 NumPy의 행렬에 행 추가
  4. numpy.insert()함수를 사용하여 NumPy의 행렬에 행 추가
NumPy에서 행렬에 행 추가

행렬은 데이터 표현 및 다중 선형 방정식 풀이를위한 수학 및 통계에서 자주 사용됩니다. 프로그래밍에서 2 차원 배열은 행렬로 처리됩니다.

Python에서 numpy 모듈은 배열 작업에 사용됩니다. 행렬에 대해 서로 다른 작업을 수행하는 데 사용할 수있는 많은 함수와 클래스가 있습니다.

이 튜토리얼에서는 numpy에서 행렬에 행을 추가하는 방법을 배웁니다.

numpy.vstack()함수를 사용하여 NumPy의 행렬에 행 추가

vstack()함수는 배열을 수직으로 쌓습니다. 두 개의 2D 배열을 세로로 쌓는 것은 행렬에 행을 추가하는 것과 같습니다.

다음 코드는이를 보여줍니다.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.vstack([arr, row])
print(arr)

출력:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

numpy.append()함수를 사용하여 NumPy의 행렬에 행 추가

numpy 모듈의append()함수는 배열 끝에 요소를 추가 할 수 있습니다. axis를 0으로 지정하면이 함수를 사용하여 행렬에 행을 추가 할 수 있습니다.

예를 들면

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.append(arr, [row], axis=0)
print(arr)

출력:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

numpy.r_()함수를 사용하여 NumPy의 행렬에 행 추가

numpy 모듈의r_()함수는 배열을 세로로 결합하여 배열을 연결합니다.

이 코드를 사용하여 행렬에 행을 추가하는 방법을 보려면 아래 코드를 확인하십시오.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.r_[arr, [row]]
print(arr)

출력:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

또는concatenate()함수도 사용할 수 있습니다. concatenate()함수는 두 개 이상의 배열을 결합하여 원하는 결과를 얻는 데 사용할 수 있습니다.

예를 들면

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
arr = np.concatenate((arr, [row]), axis=0)
print(arr)

출력:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

numpy.insert()함수를 사용하여 NumPy의 행렬에 행 추가

insert()함수는 지정된 축과 위치를 따라 객체를 추가합니다. 원하는 특정 위치의 행렬에 행을 삽입하는 데 사용할 수 있습니다.

예를 들면

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
row = np.array([7, 8, 9])
row_n = arr.shape[0]  # last row
arr = np.insert(arr, row_n, [row], axis=0)
print(arr)

출력:

[[1 2 3]
 [4 5 6]
 [7 8 9]]

위의 코드에서 행렬의 끝에 행을 추가합니다. shape()함수는 행렬의 총 행 수를 나타내는 배열의 차원을 반환합니다.

작가: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn