>백엔드 개발 >파이썬 튜토리얼 >NumPy에서 'ValueError: 배열 요소를 시퀀스로 설정'이라는 메시지가 나타나는 이유는 무엇입니까?

NumPy에서 'ValueError: 배열 요소를 시퀀스로 설정'이라는 메시지가 나타나는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-03 22:52:11284검색

Why am I getting a

ValueError: 시퀀스로 배열 요소 설정

NumPy 배열은 구조화된 데이터 유형이므로 다음과 같은 엄격한 요구 사항이 있습니다. 포함된 요소입니다. 다차원 배열 또는 이종 유형의 배열로 작업할 때 다음 오류가 발생할 수 있습니다.

ValueError: setting an array element with a sequence.

이 오류의 가능한 원인과 해결 방법을 살펴보겠습니다.

가변 배열 생성:

가변 배열은 행의 길이가 다른 다차원 배열입니다. NumPy는 가변 배열을 지원하지 않습니다. 이 문제를 해결하려면 배열을 생성하는 데 사용하는 목록의 각 행에 동일한 수의 요소가 있는지 확인해야 합니다.

# Correct
numpy.array([[1, 2], [3, 4]])
# Incorrect
numpy.array([[1, 2], [2, 3, 4]])

호환되지 않는 요소 유형:

다양한 유형의 요소 목록에서 배열을 생성할 때 데이터 유형을 명시적으로 지정해야 할 수도 있습니다. 기본적으로 NumPy는 모든 요소를 ​​수용할 수 있는 가장 일반적인 데이터 유형을 할당합니다. 그러나 호환되지 않는 유형의 요소를 삽입하려고 하면 이 오류가 발생합니다.

예를 들어 다음 코드는 두 번째 요소가 문자열이기 때문에 오류가 발생합니다.

numpy.array([1.2, "abc"], dtype=float)

이 문제를 해결하려면 모든 요소를 ​​동일한 데이터 유형으로 변환하거나 임의 유형의 요소를 허용하는 객체 데이터 유형을 사용할 수 있습니다.

# Convert to float
numpy.array([float(x) for x in [1.2, "abc"]])

# Use object data type
numpy.array([1.2, "abc"], dtype=object)

위 내용은 NumPy에서 'ValueError: 배열 요소를 시퀀스로 설정'이라는 메시지가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.