我正在使用python-3.x,我搜索了以下错误,但找不到正确的解决方案。错误发生在下面的代码中。
我有一个随机的numpy二进制数组和一个随机数数组,所以代码将根据代码中的其他数组的值删除二进制行。
readFileSync
错误是:IndexError:索引9超出了轴0的大小为9'
所以在我的代码中,问题出在哪里以及如何解决 任何帮助都将受到高度赞赏
答案 0 :(得分:0)
您正在数组的边界外访问。
在你的内循环中,你有一行binary = np.delete(binary, (loser), axis=0)
假设第一次通过,min值的索引(loser
)是9(10个元素数组的最后一个元素)。您的binary
数组的长度为10.您从数组中删除该条目。二进制数组现在的长度为9. value
数组中最小值的索引没有改变!因此,下次当您尝试通过print("binary:",(binary[loser,]))
访问元素9时,会出现错误。
至于解决您的问题,您正在使用从一个数组确定的单个索引loser
来访问两个不同大小的数组中的元素。您需要确定解决此问题的方式。