Oplossing: valueerror: alle arrays moeten dezelfde lengte hebben
Een fout die u kunt tegenkomen bij het gebruik van panda’s is:
ValueError : All arrays must be of the same length
Deze fout treedt op wanneer u een pandas DataFrame probeert te maken en niet alle kolommen in het DataFrame dezelfde lengte hebben.
Het volgende voorbeeld laat zien hoe u deze fout in de praktijk kunt corrigeren.
Hoe de fout te reproduceren
Laten we zeggen dat we proberen de volgende panda’s DataFrame te maken:
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
We ontvangen een foutmelding die ons vertelt dat elke array niet dezelfde lengte heeft.
We kunnen dit controleren door de lengte van elke array af te drukken:
#print length of each array
print ( len (team), len (position), len (points))
7 8 8
We zien dat de ‚team‘-tabel slechts 7 elementen heeft, terwijl de ‚positie‘- en ‚punten‘-tabellen elk 8 elementen hebben.
Hoe u de fout kunt oplossen
De eenvoudigste manier om deze fout op te lossen, is door ervoor te zorgen dat elke array die we gebruiken dezelfde lengte heeft:
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
Merk op dat elke array deze keer dezelfde lengte heeft.
Dus wanneer we de arrays gebruiken om het Panda DataFrame te maken, ontvangen we geen foutmelding omdat elke kolom dezelfde lengte heeft.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:
Hoe KeyError in Panda’s te repareren
Oplossing: ValueError: Kan float NaN niet naar int converteren
Oplossing: ValueError: Operanden konden niet worden uitgezonden met vormen