Jak naprawić w pythonie: obiektu „numpy.ndarray” nie można wywołać
Typowym błędem, który możesz napotkać podczas używania NumPy w Pythonie jest:
TypeError : 'numpy.ndarray' object is not callable
Ten błąd występuje zwykle podczas próby wywołania tablicy NumPy jako funkcji przy użyciu nawiasów okrągłych () zamiast nawiasów kwadratowych [ ] .
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Jak odtworzyć błąd
Załóżmy, że mamy następującą tablicę NumPy:
import numpy as np #create NumPy array x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])
Załóżmy teraz, że próbujemy uzyskać dostęp do pierwszego elementu tablicy:
#attempt to access the first element in the array
x(0)
TypeError : 'numpy.ndarray' object is not callable
Ponieważ użyliśmy nawiasów okrągłych () , Python uważa, że próbujemy wywołać tablicę NumPy x jako funkcję.
Ponieważ x nie jest funkcją, pojawia się błąd.
Jak naprawić błąd
Sposobem rozwiązania tego błędu jest po prostu użycie nawiasów kwadratowych [ ] podczas uzyskiwania dostępu do elementów tablicy NumPy zamiast nawiasów okrągłych () :
#access the first element in the array
x[0]
2
Wyświetlany jest pierwszy element tablicy (2) i nie otrzymujemy żadnych błędów, ponieważ użyliśmy nawiasów kwadratowych [ ] .
Zauważ też, że możemy uzyskać dostęp do wielu elementów tablicy jednocześnie, o ile używamy nawiasów kwadratowych [ ] :
#find sum of first three elements in array
x[0] + x[1] + x[2]
10
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak naprawić inne typowe błędy w Pythonie:
Jak naprawić: Błąd wartości: Indeks zawiera zduplikowane wpisy, nie można go zmienić
Jak naprawić: Błąd typu: Oczekiwany obiekt typu String lub Bytes
Jak naprawić: TypeError: Obiekt „numpy.float64” nie jest wywoływalny