Um erro que pode encontrar ao utilizar Python é:
ValueError : definição de um elemento de matriz com uma sequência.
Este erro ocorre normalmente quando se tenta amontoar vários números numa única posição de uma matriz NumPy.
O exemplo seguinte mostra como corrigir este erro na prática.
Como reproduzir o erro
Suponha que temos a seguinte matriz NumPy:
import numpy as np #criar matriz NumPy data = np. array ([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Agora suponhamos que tentamos colocar dois números na primeira posição da matriz:
#tentativa de colocar os valores '4' e '5' na primeira posição da matriz NumPy data = np. array ([4,5]) ValueError : definição de um elemento da matriz com uma sequência.
O erro diz-nos exatamente o que fizemos mal: tentámos definir um elemento na matriz NumPy com uma sequência de valores.
Em particular, tentámos colocar os valores '4' e '5' na primeira posição da matriz NumPy.
Isto não é possível, pelo que recebemos um erro.
Como corrigir o erro
A forma de corrigir este erro é simplesmente atribuir um valor à primeira posição da matriz:
#atribuir o valor '4' à primeira posição da matriz data = np. array () #ver a matriz actualizada data array([ 4, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Repare que não recebemos qualquer erro.
Se quisermos efetivamente atribuir dois novos valores a elementos da matriz, temos de utilizar a seguinte sintaxe:
#atribuir os valores '4' e '5' às duas primeiras posições da matriz data[0:2] = np. array ([4, 5]) #visualizar a matriz actualizada data array([ 4, 5, 3, 4, 5, 6, 7, 8, 9, 10])
Repare que os dois primeiros valores foram alterados na matriz, enquanto todos os outros valores permaneceram iguais.