我试图用numpy float64类型的标量来划分numpy数组。以下是我的密码。
pose_q = np.array(pose_q)
expectecd_q = np.array(expectecd_q)
pose_q = np.squeeze(pose_q)
expectecd_q = np.squeeze(expectecd_q)
q1 = expectecd_q / np.linalg.norm(expectecd_q)
q2 = pose_q / np.linalg.norm(pose_q)
d = abs(np.sum(np.multiply(q1, q2)))但是,我看到以下指向expectecd_q / np.linalg.norm(expectecd_q)的错误
TypeError: ufunc 'true_divide' not supported for the input types, and the inputs could not be safely coerced to any supported types according to the casting rule ''safe''发布于 2020-08-28 20:27:43
由于您没有提供数据,所以我将两个数组创建为:
a = np.array([12.0, 15.2, 19.3]) # Dividend
b = np.array(3.0) # Divider (a Numpy scalar)如果您想将a除以b,只运行(不足为奇) a / b。结果是:
array([4. , 5.06666667, 6.43333333])在您的情况下,也许您应该确定您作为操作数具有哪些特定的值。
我在网上查找您的错误消息。我发现了这样一个建议,即原因可能是所讨论的数组具有文本值(而不是浮动)。当您从数据库读取数组时,可能会发生这种情况。检查此数组的dtype。类'numpy.ndarray‘只表示这是一个Numpy数组。但是它的元素类型是什么呢?
https://stackoverflow.com/questions/63640157
复制相似问题