Python >> Programma Python >  >> Python Tag >> NumPy

Numpy.dot TypeError:impossibile eseguire il cast dei dati dell'array da dtype('float64') a dtype('S32') secondo la regola 'sicuro'

Basta prendere l'input da BrenBarn e Warren Weckesser per fornire uno snippet di codice che dovrebbe essere eseguito (convertendo le tue stringhe in float):

a = map(lambda x: float(x),a)
b = map(lambda x: float(x),b)
np.dot(a,b.T)

o più semplice come suggerito da @JLT

a = map(float,a)
b = map(float,b)
np.dot(a,b.T)

Ma come ha già detto Warren Weckesser, dovresti controllare i tipi dell'array, molto probabilmente uno contiene già float.


Prova a convertire l'intero array numpy in floatExample:

train = train.astype(float)
train_target = train_target.astype(float)