Come risolvere il problema: valueerror: tutti gli array devono avere la stessa lunghezza


Un errore che potresti riscontrare quando usi i panda è:

 ValueError : All arrays must be of the same length

Questo errore si verifica quando si tenta di creare un DataFrame panda e non tutte le colonne nel DataFrame hanno la stessa lunghezza.

L’esempio seguente mostra come correggere questo errore nella pratica.

Come riprodurre l’errore

Diciamo di provare a creare il seguente DataFrame panda:

 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

Riceviamo un errore che ci dice che ogni array non ha la stessa lunghezza.

Possiamo verificarlo stampando la lunghezza di ciascun array:

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

7 8 8

Vediamo che la tabella “squadra” ha solo 7 elementi mentre le tabelle “posizione” e “punti” hanno ciascuna 8 elementi.

Come correggere l’errore

Il modo più semplice per risolvere questo errore è semplicemente assicurarsi che ogni array che utilizziamo abbia la stessa lunghezza:

 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

Nota che ogni array questa volta ha la stessa lunghezza.

Pertanto, quando utilizziamo gli array per creare il DataFrame panda, non riceviamo un errore perché ogni colonna ha la stessa lunghezza.

Risorse addizionali

I seguenti tutorial spiegano come correggere altri errori comuni in Python:

Come correggere l’errore chiave nei Panda
Come risolvere il problema: ValueError: impossibile convertire float NaN in int
Come risolvere il problema: ValueError: non è stato possibile trasmettere gli operandi con le forme

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *