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