Come risolvere in python: l'oggetto 'numpy.ndarray' non è richiamabile


Un errore comune che potresti riscontrare quando usi NumPy in Python è:

 TypeError : 'numpy.ndarray' object is not callable

Questo errore si verifica in genere quando si tenta di chiamare un array NumPy come funzione utilizzando parentesi tonde () anziché parentesi quadre [ ] .

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Come riprodurre l’errore

Supponiamo di avere il seguente array NumPy:

 import numpy as np

#create NumPy array
x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])

Supponiamo ora di provare ad accedere al primo elemento dell’array:

 #attempt to access the first element in the array
x(0)

TypeError : 'numpy.ndarray' object is not callable

Dato che abbiamo utilizzato le parentesi tonde () , Python pensa che stiamo cercando di chiamare l’array NumPy x come una funzione.

Poiché x non è una funzione, riceviamo un errore.

Come correggere l’errore

Il modo per risolvere questo errore è utilizzare semplicemente le parentesi quadre [ ] quando si accede agli elementi dell’array NumPy invece delle parentesi tonde () :

 #access the first element in the array
x[0]

2

Viene visualizzato il primo elemento dell’array (2) e non riceviamo alcun errore perché abbiamo utilizzato le parentesi quadre [ ] .

Tieni inoltre presente che possiamo accedere a più elementi dell’array contemporaneamente purché utilizziamo parentesi quadre [ ] :

 #find sum of first three elements in array
x[0] + x[1] + x[2]

10

Risorse addizionali

I seguenti tutorial spiegano come correggere altri errori comuni in Python:

Come risolvere il problema: ValueError: l’indice contiene voci duplicate, non può essere rimodellato
Come risolvere il problema: Errore di tipo: oggetto stringa o byte previsto
Come risolvere il problema: TypeError: l’oggetto “numpy.float64” non è richiamabile

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *