9
Quando metto a confronto due array NumPy dentro la mia funzione ottengo un errore che dice solo di lunghezza-1 array possono essere convertiti in scalari Python:Numba autojit errore sul confronto array NumPy
from numpy.random import rand
from numba import autojit
@autojit
def myFun():
a = rand(10,1)
b = rand(10,1)
idx = a > b
return idx
myFun()
L'errore:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-f7b68c0872a3> in <module>()
----> 1 myFun()
/Users/Guest/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/numba/numbawrapper.so in numba.numbawrapper._NumbaSpecializingWrapper.__call__ (numba/numbawrapper.c:3764)()
TypeError: only length-1 arrays can be converted to Python scalars
Bene, una delle principali motivazioni dell'utilizzo degli array NumPy è quella di sfruttare le funzioni incorporate e non dover riscrivere esplicitamente tutte le loro utilità. Ho appena fatto un semplice esempio in cui Numba si rompe con operazioni logiche su array NumPy. Ma, in generale, ottengo errori con molti tipi di indicizzazione booleana/logica, e questo è un metodo veramente utile se si sta facendo una codifica numerica/scientifica con gli array. – KartMan