Table of Contents

Python

array에 append 할 수 있을까?

꼬꼬마코더 2024. 5. 7. 00:40
728x90

numpy 배열에 대해 직접적인 append 연산은 numpyappend() 함수를 사용하여 수행할 수 있습니다. 하지만, 일반적인 파이썬 리스트에서 사용하는 append() 메소드와는 다소 차이가 있습니다. numpy.append()는 새로운 배열을 반환하며, 원래 배열은 변경되지 않습니다. 또한, numpy 배열의 크기나 차원을 자유롭게 조정하려면 명시적으로 차원을 설정하거나 변형해야 합니다.

예를 들어, 초기 배열을 생성한 후에 이 배열에 새로운 요소를 추가하는 방법은 다음과 같습니다:

1. 1차원 배열에 요소 추가하기:

import numpy as np

arr = np.array([1, 2, 3])
arr = np.append(arr, 4)  # 배열에 요소 4 추가
print(arr)

출력: [1, 2, 3, 4]

 

2. 2차원 배열에 행 또는 열 추가하기:

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
# 새로운 행 추가
new_row = np.array([7, 8, 9])
arr = np.append(arr, [new_row], axis=0)
print(arr)

# 새로운 열 추가
new_col = np.array([[0], [0]])
arr = np.append(arr, new_col, axis=1)
print(arr)

첫 번째 print() 출력:

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

두 번째 print() 출력:

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

 

이 예에서 np.append() 함수는 axis 매개변수를 사용하여 배열에 요소를 추가할 차원을 지정합니다. axis=0은 행을 추가하고, axis=1은 열을 추가합니다. 만약 axis를 지정하지 않으면 결과는 항상 1차원 배열이 됩니다.

따라서 numpy 배열을 조작할 때는 주의 깊게 차원과 형태를 관리해야 하며, 배열이 불변의 크기를 가지지 않는다는 점을 염두에 두어야 합니다. numpy.append()는 배열의 복사본을 만드므로, 크기가 큰 배열에서 자주 사용하면 성능에 영향을 줄 수 있습니다.