Как исправить: 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 с последовательностью значений.

В частности, мы попытались разместить значения «4» и «5» в первой позиции массива NumPy.

Это невозможно, поэтому мы получаем ошибку.

Как исправить ошибку

Чтобы исправить эту ошибку, просто присвойте значение первой позиции массива:

 #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:

Как исправить ошибку KeyError в Pandas
Как исправить: ValueError: невозможно преобразовать число с плавающей запятой NaN в int.
Как исправить: ValueError: операнды не могут быть переданы с помощью фигур.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *