Como corrigir: valueerror: todas as matrizes devem ter o mesmo comprimento


Um erro que você pode encontrar ao usar pandas é:

 ValueError : All arrays must be of the same length

Este erro ocorre quando você tenta criar um DataFrame do pandas e nem todas as colunas no DataFrame têm o mesmo comprimento.

O exemplo a seguir mostra como corrigir esse erro na prática.

Como reproduzir o erro

Digamos que tentamos criar o seguinte DataFrame do pandas:

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#attempt to create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

ValueError : All arrays must be of the same length

Recebemos um erro que nos informa que cada array não tem o mesmo comprimento.

Podemos verificar isso imprimindo o comprimento de cada array:

 #print length of each array
print ( len (team), len (position), len (points))

7 8 8

Vemos que a tabela ‘equipe’ possui apenas 7 elementos, enquanto as tabelas ‘posição’ e ‘pontos’ possuem 8 elementos cada.

Como corrigir o erro

A maneira mais fácil de resolver esse erro é simplesmente garantir que cada array que usamos tenha o mesmo comprimento:

 import pandas as pd

#define arrays to use as columns in DataFrame
team = ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']
position = ['G', 'G', 'F', 'F', 'G', 'G', 'F', 'F']
points = [5, 7, 7, 9, 12, 9, 9, 4]

#create DataFrame from arrays
df = pd. DataFrame ({' team ': team,
                   ' position ': position,
                   ' dots ': dots})

#view DataFrame
df

	team position points
0 A G 5
1 A G 7
2 A F 7
3 A F 9
4 B G 12
5 B G 9
6 B F 9
7 B F 4

Observe que cada array desta vez tem o mesmo comprimento.

Portanto, quando usamos os arrays para criar o DataFrame do pandas, não recebemos um erro porque cada coluna tem o mesmo comprimento.

Recursos adicionais

Os tutoriais a seguir explicam como corrigir outros erros comuns em Python:

Como corrigir KeyError em Pandas
Como corrigir: ValueError: não é possível converter float NaN em int
Como corrigir: ValueError: os operandos não puderam ser transmitidos com formas

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *