수정 방법: valueerror: 시퀀스로 배열 요소 설정


Python을 사용할 때 발생할 수 있는 오류는 다음과 같습니다.

 ValueError : setting an array element with a sequence.

이 오류는 일반적으로 NumPy 배열에서 여러 숫자를 단일 위치로 그룹화하려고 할 때 발생합니다.

다음 예에서는 실제로 이 오류를 수정하는 방법을 보여줍니다.

오류를 재현하는 방법

다음과 같은 NumPy 배열이 있다고 가정합니다.

 import numpy as np

#create NumPy array
data = np. array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

이제 배열의 첫 번째 위치에 두 개의 숫자를 배치하려고 한다고 가정합니다.

 #attempt to cram values '4' and '5' both into first position of NumPy array
data[0] = np. array ([4,5])

ValueError : setting an array element with a sequence.

오류는 우리가 무엇을 잘못했는지 정확히 알려줍니다. 일련의 값으로 NumPy 배열의 요소를 정의하려고 했습니다.

특히 NumPy 배열의 첫 번째 위치에 “4”와 “5” 값을 배치하려고 했습니다.

이는 불가능하므로 오류가 발생합니다.

오류를 수정하는 방법

이 오류를 해결하는 방법은 단순히 배열의 첫 번째 위치에 값을 할당하는 것입니다.

 #assign the value '4' to the first position of the array
data[0] = np. array ([4])

#view updated array
data

array([ 4, 2, 3, 4, 5, 6, 7, 8, 9, 10])

오류가 발생하지 않습니다.

실제로 배열 요소에 두 개의 새로운 값을 할당하려면 다음 구문을 사용해야 합니다.

 #assign the values '4' and '5' to the first two positions of the array
data[0:2] = np. array ([4, 5])

#view updated array
data

array([ 4, 5, 3, 4, 5, 6, 7, 8, 9, 10])

표에서 처음 두 값은 변경되었지만 다른 모든 값은 동일하게 유지되었습니다.

추가 리소스

다음 튜토리얼에서는 Python의 다른 일반적인 오류를 수정하는 방법을 설명합니다.

Pandas에서 KeyError를 수정하는 방법
해결 방법: ValueError: float NaN을 int로 변환할 수 없습니다.
해결 방법: ValueError: 피연산자를 모양과 함께 브로드캐스트할 수 없습니다.

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다