为什么在使用时出现此错误np.dot(a,b.T):
np.dot(a,b.T)
TypeError: Cannot cast array data from dtype('float64') to dtype('S32') according to the rule 'safe'
a和b是类型numpy.ndarray。我的NumPy版本是1.11.0。
numpy.ndarray
NumPy
只需从BrenBarn和Warren Weckesser的输入中提供一个应运行的代码段即可(通过将字符串转换为float):
a = map(lambda x: float(x),a) b = map(lambda x: float(x),b) np.dot(a,b.T)
或更简单@JLT建议
a = map(float,a) b = map(float,b) np.dot(a,b.T)
但是正如Warren Weckesser所说的那样,您应该检查数组的类型,很可能其中一个已经包含浮点数。