Why am I getting this error when using np.dot(a,b.T):
TypeError: Cannot cast array data from dtype('float64')
to dtype('S32') according to the rule 'safe'
a and b are of type numpy.ndarray. My NumPy version is 1.11.0.
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.
'S32'means one of your arrays is an array of strings, not numbers. Take a closer look at your arrays and how you create them. In particular, checka.dtypeandb.dtype.