Hoe op te lossen in python: 'numpy.ndarray'-object kan niet worden opgevraagd
Een veel voorkomende fout die u kunt tegenkomen bij het gebruik van NumPy in Python is:
TypeError : 'numpy.ndarray' object is not callable
Deze fout treedt meestal op wanneer u probeert een NumPy-array als een functie aan te roepen met behulp van ronde haakjes () in plaats van vierkante haakjes [ ] .
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Hoe de fout te reproduceren
Stel dat we de volgende NumPy-array hebben:
import numpy as np #create NumPy array x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])
Stel nu dat we proberen toegang te krijgen tot het eerste element van de array:
#attempt to access the first element in the array
x(0)
TypeError : 'numpy.ndarray' object is not callable
Omdat we ronde () haakjes hebben gebruikt, denkt Python dat we de NumPy x- array als een functie proberen aan te roepen.
Omdat x geen functie is, krijgen we een foutmelding.
Hoe u de fout kunt oplossen
De manier om deze fout op te lossen is door eenvoudigweg vierkante haakjes [ ] te gebruiken bij toegang tot NumPy-array-elementen in plaats van ronde haakjes () :
#access the first element in the array
x[0]
2
Het eerste element van de array (2) wordt weergegeven en we krijgen geen fouten omdat we vierkante haakjes [ ] hebben gebruikt.
Merk ook op dat we toegang hebben tot meerdere array-elementen tegelijk, zolang we vierkante haakjes [ ] gebruiken:
#find sum of first three elements in array
x[0] + x[1] + x[2]
10
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende fouten in Python kunt oplossen:
Oplossing: ValueError: Index bevat dubbele vermeldingen en kan niet worden aangepast
Oplossing: Typefout: verwacht tekenreeks- of bytesobject
Oplossing: TypeError: Object ’numpy.float64′ kan niet worden opgevraagd