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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert