python - 'IndexError: 只有整数、切片(`:`)、省略号(`...`)' ...?
问题描述
这个错误有很多问题,但我无法在我的代码中找到问题的根源。我的代码如下:
for i in segs:
if relDiff(segs[i+1], segs[i]) > 0.05:
arr_x[i] = 0; arr_y[i] = 0
我在第三行收到错误IndexError: only integers, slices (
::), ellipsis (
...), numpy.newaxis (
无) and integer or boolean arrays are valid indices
segs
是一个数组,relDiff
是我创建的一个计算相对差异的函数。这是该功能:
def relDiff(x,x_ref):
return np.abs((x-x_ref)/x_ref)
很感谢任何形式的帮助!
解决方案
由于您将项目用作andsegs
的索引,因此必须是整数列表/数组。否则,您必须将每个项目转换为整数,例如. 由于您的要求未知,因此在您的程序中执行此操作在逻辑上是否有意义由您决定。我们不知道包含什么。arr_x
arr_y
segs
arr_x[int(i)]
segs
推荐阅读
- javascript - Chrome 扩展:如何将消息发送到 default_popup 页面
- javascript - 根据所选值编辑按钮“onclick”功能
- javascript - 添加 AntD 成功消息作为 firebase 身份验证过程处理程序中的一个步骤
- java - 如何在不使用 @SpringBootTest 的情况下编写使用自定义 JPA 存储库的测试
- android - 如何从 Android Emulator 访问同一网络但不同机器上的 API 端点?
- c# - IActionResult 不返回视图
- c - 我是结构的新手,我不知道是什么导致了错误:“重复标识符”
- javascript - 如何使无子节点具有一个输入框,该输入框将发布一个数字,以便它可以调用 python 函数?
- python - 转到 VS 代码中的定义不显示函数的主体
- reactjs - 即使在使用路由器更改 url 后,如何防止状态重置?