IndexError:索引9超出了轴0的大小为9的范围

时间:2017-08-03 13:12:09

标签: arrays python-3.x indexing

我正在使用python-3.x,我搜索了以下错误,但找不到正确的解决方案。错误发生在下面的代码中。

我有一个随机的numpy二进制数组和一个随机数数组,所以代码将根据代码中的其他数组的值删除二进制行。

readFileSync

错误是:IndexError:索引9超出了轴0的大小为9'

所以在我的代码中,问题出在哪里以及如何解决 任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:0)

您正在数组的边界外访问。

在你的内循环中,你有一行binary = np.delete(binary, (loser), axis=0)

假设第一次通过,min值的索引(loser)是9(10个元素数组的最后一个元素)。您的binary数组的长度为10.您从数组中删除该条目。二进制数组现在的长度为9. value数组中最小值的索引没有改变!因此,下次当您尝试通过print("binary:",(binary[loser,]))访问元素9时,会出现错误。

至于解决您的问题,您正在使用从一个数组确定的单个索引loser来访问两个不同大小的数组中的元素。您需要确定解决此问题的方式。