Python에서 AttributeError: 'numpy.ndarray' 객체에 'Append' 속성이 없음 수정

Shihab Sikder 2023년6월21일
  1. Python에서 AttributeError: 'numpy.ndarray' 객체에 'append' 속성이 없습니다.
  2. Python에서 AttributeError: 'numpy.ndarray' 객체에 'append' 속성이 없음 수정
Python에서 AttributeError: 'numpy.ndarray' 객체에 'Append' 속성이 없음 수정

목록이나 배열과 마찬가지로 NumPy에는 배열에 대한 append() 메서드가 없습니다. 대신 NumPy의 append() 메서드를 사용해야 합니다. append() 메서드를 사용하여 여러 NumPy 배열을 추가할 수 있습니다.

Python에서 AttributeError: 'numpy.ndarray' 객체에 'append' 속성이 없습니다.

ndarray는 모델에 대해 여러 데이터 유형이 있는 경우와 같이 다양한 목적에 유용한 n차원 NumPy 배열입니다. 다음은 이것을 사용하는 간단한 예입니다.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
print(f"Type: {type(arr)}")
print(f"Dimension: {arr.ndim}")
print(f"Shape: {arr.shape}")
print(f"Element data type: {arr.dtype}")

출력:

Type: <class 'numpy.ndarray'>
Dimension: 2
Shape: (2, 3)
Element data type: int32

이제 위의 ndarray 개체에 배열을 추가해 보겠습니다. 다음과 같은 오류가 발생합니다.

>>> arr.append([1,2])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'numpy.ndarray' object has no attribute 'append'

따라서 ndarray 유형 개체에는 append()라는 메서드가 포함되어 있지 않습니다.

Python에서 AttributeError: 'numpy.ndarray' 객체에 'append' 속성이 없음 수정

ndarray 개체에 새 배열을 추가하려면 새 배열이 ndarray 내부의 이전 배열과 동일한 차원을 갖도록 해야 합니다.

ndarray를 추가하는 방법은 다음과 같습니다.

import numpy as np

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

출력:

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

여기에서 알 수 있듯이 축을 0으로 지정합니다. 이제 축을 언급하지 않으면 다음과 같이 됩니다.

import numpy as np

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

출력:

[1 2 3 4 5 6 7 8 9]

모든 요소를 언래핑한 다음 하나의 배열로 만들었습니다!

이제 차원이 같지 않은 배열을 제공하면 어떻게 되는지 살펴보겠습니다.

import numpy as np

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

출력:

ValueError: all the input array dimensions for the concatenation axis must match exactly, but along dimension 1, the array at index 0 has size 3 and the array at index 1 has a size 2

여기에서 차원 불일치에 대한 ValueError를 얻었습니다. NumPy의 ndarray에 대해 자세히 알아보려면 이 블로그를 방문하십시오.

Shihab Sikder avatar Shihab Sikder avatar

I'm Shihab Sikder, a professional Backend Developer with experience in problem-solving and content writing. Building secure, scalable, and reliable backend architecture is my motive. I'm working with two companies as a part-time backend engineer.

LinkedIn Website

관련 문장 - Python Error