operands could not be broadcast together with shapes (7807,5) (7807,)
时间: 2024-04-13 13:30:26 浏览: 66
js_get-operands
这个错误提示表明在执行 `np.where(distances > threshold)` 时发生了形状不匹配的问题。
这个问题可能是由于 `threshold` 的形状不正确导致的。根据错误提示,`distances` 是一个形状为 (7807, 5) 的二维数组,而 `threshold` 是一个形状为 (7807,) 的一维数组。
为了解决这个问题,可以将 `threshold` 转换为与 `distances` 相同的形状,使得它们能够进行逐元素的比较。可以使用 `np.tile()` 函数来实现:
```python
threshold = np.tile(threshold, (distances.shape[1], 1)).T
```
这将会把 `threshold` 在列维度上复制成与 `distances` 相同的形状,使得它们能够进行逐元素的比较。然后,再执行 `np.where(distances > threshold)` 就不会出现形状不匹配的错误了。
阅读全文