Why am I getting this error when using np.dot(a,b.T)
:
TypeError: Cannot cast array data from dtype(\'float64\')
to dtype(\'S32\'
Just taking the input from BrenBarn and Warren Weckesser to provide a code snippet which should run (by converting your strings to float):
a = map(lambda x: float(x),a)
b = map(lambda x: float(x),b)
np.dot(a,b.T)
or simpler as suggested by @JLT
a = map(float,a)
b = map(float,b)
np.dot(a,b.T)
But as Warren Weckesser already said, you should check the types of the array, most likely one already contains floats.
Try converting whole numpy array into float Example:
train = train.astype(float)
train_target = train_target.astype(float)