Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

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

일반 Python에서는 append()를 사용할 수 있습니다. 목록의 끝에 항목을 추가하는 메서드입니다. NumPy에서는 이 방법을 사용할 수 없습니다. Python append()를 사용하려고 하면 NumPy 배열 끝에 항목을 추가하는 메소드를 사용하면 AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’가 표시됩니다. 오류.

이 가이드에서는 이 NumPy 오류의 원인과 해결 방법에 대해 자세히 설명합니다. 이 오류를 수정하는 방법을 설명하기 위해 예제를 참조합니다. 시작하겠습니다.

속성 오류:'numpy.ndarray' 개체에 '추가' 속성이 없습니다.

AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’ append()를 사용하여 오류가 발생했습니다. NumPy 배열에 항목을 추가하는 메서드입니다. 대신 numpy.append()를 사용해야 합니다. 목록에 항목을 추가하려는 경우 메소드.

numpy.append() 메소드는 NumPy 라이브러리를 위해 특별히 작성되었습니다. NumPy 배열은 일반 Python 배열과 다르므로 NumPy에는 배열에 항목을 추가하는 고유한 방법이 있는 것이 합리적입니다.

NumPy append() 메서드는 다음 구문을 사용합니다.

numpy.append(list_to_add_item, item_to_add)

우리가 집중할 두 가지 매개변수:

  • list_to_add_item:항목을 추가할 목록입니다.
  • item_to_add:지정한 목록에 추가하려는 항목입니다.

numpy.append() 메소드는 "list_to_add_item" 배열을 기반으로 끝에 지정된 항목을 포함하는 새 배열을 반환합니다. append() 일반 Python에서와 같이 항목을 추가하려는 목록 뒤에.

이 오류의 예를 살펴보겠습니다.

참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.

부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.

상황 예시

우리는 공장에서 품질 보증을 받은 후 제품이 받은 성능 등급을 추적하는 애플리케이션을 구축하고 있습니다. 제품은 50점 만점으로 매겨지며 모든 제품은 40점 이상을 얻어야 세상에 나온다.

우리는 제품이 마지막 날에 받은 점수를 저장하는 배열에 새 점수를 추가하는 응용 프로그램 부분을 구축하고 있습니다. 이 프로그램을 빌드하기 위해 append()를 사용할 수 있습니다. 방법:

import numpy as np

scores = np.array([49, 48, 49, 47, 42, 48, 46, 50])
to_add = 49

scores.append(to_add)

print(scores)

우리 프로그램은 점수 목록에 점수 39를 추가합니다. 실제 상황에서는 파일에서 이러한 점수를 읽을 수 있지만 예제를 단순하게 유지하기 위해 프로그램에서 배열을 선언했습니다. 새 점수가 점수 배열에 추가된 후 코드는 모든 점수 목록을 Python 콘솔에 인쇄합니다.

코드를 실행하고 어떤 일이 일어나는지 봅시다:

Traceback (most recent call last):
  File "test.py", line 6, in <module>
	scores.append(to_add)
AttributeError: 'numpy.ndarray' object has no attribute 'append'

코드가 오류를 반환합니다.

해결책

일반 Python append()를 사용하려고 합니다. 커스텀 빌드 numpy.append() 대신 NumPy 배열에 항목을 추가하는 메서드 방법.

이 오류를 해결하려면 numpy.append() 구문을 사용해야 합니다. 방법:

import numpy as np

scores = np.array([49, 48, 49, 47, 42, 48, 46, 50])

scores = np.append(scores, 49)

print(scores)

NumPy 라이브러리를 참조하기 위해 np 용어를 사용합니다. 이것은 import 문에서 numpy 라이브러리를 np로 정의했기 때문에 작동합니다. 항목을 추가하려는 목록을 첫 번째 인수로 전달합니다. 배열에 추가할 새 점수는 두 번째 인수입니다.

np.append()의 결과를 할당해야 합니다. 새로운 가치로의 작업. np.append() 때문입니다. 기존 어레이를 수정하지 않습니다. 대신 이 메서드는 새 값이 추가된 새 배열을 만듭니다.

프로그램을 실행하고 어떤 일이 일어나는지 봅시다:

[49 48 49 47 42 48 46 50 49]

번호 49가 목록 끝에 성공적으로 추가되었습니다.

결론

AttributeError: ‘numpy.ndarray’ object has no attribute ‘append’ 오류는 일반 Python append()을 사용하고 있음을 나타냅니다. NumPy 배열에 항목을 추가하는 메서드입니다. 대신 numpy.append()를 사용해야 합니다. 구문을 사용하는 메서드:numpy.append(list, item_to_add). 이 메서드는 지정된 항목이 끝에 추가된 새 목록을 만듭니다.

NumPy 코딩에 대해 더 알고 싶으십니까? NumPy 학습 방법 가이드를 확인하세요. 이 가이드에는 초보자 및 중급 개발자에게 적합한 학습 리소스 목록과 함께 NumPy에 대한 지식을 구축하는 방법에 대한 최고의 팁이 포함되어 있습니다.