【问题标题】:IndexError: index 9 is out of bounds for axis 0 with size 9IndexError:索引 9 超出轴 0 的范围,大小为 9
【发布时间】:2018-01-11 02:52:53
【问题描述】:

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

我有一个随机 numpy 二进制数组和一个随机数数组,因此代码将根据另一个数组的值删除一个二进制行,正如您从代码中看到的那样。

import random
import numpy as np
np.set_printoptions(threshold=np.nan)


for i in range (100):


    binary= np.random.randint (2, size=(10, 4))
    print("binary:" '\n',binary)


    value = np.random.randint (200, size=(10, 1))
    print("value:" '\n',value)




    for i in range (2):
#       the loseer how have the of the binarys who has the smaslets value 
        loser = np.argmin(value)
#        print ("loser:",loser)
#        print("loser:", loser,(value[loser]))
#        print (binary[loser,])
#        print("Loser=", "Index:", loser,"value:",(value[loser]), "binary:",(binary[loser,]))
        print("Index:", loser)
        print("value:",(value[loser]))
        print("binary:",(binary[loser,]))
        print("Loser=", "Index:", loser,"value:",(value[loser]), "binary:",(binary[loser,]))



        binary = np.delete(binary, (loser), axis=0)
        print("binary:" '\n',binary)

错误是:IndexError: index 9 is out of bounds for axis 0 with size 9'

那么在我的代码中,问题出在哪里以及如何解决它 任何帮助将不胜感激

【问题讨论】:

    标签: arrays python-3.x indexing


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 你能解释一下如何解决这个问题吗
    • @azeez 有很多方法可以解决这个问题。您选择的解决方案应该是符合您目标的解决方案。
    • 很抱歉,但还是没有找到答案,我尝试了很多方法,但都没有奏效。我需要做的就是删除二进制数组中最低的两行...
    • @azeez 您的代码不会删除二进制数组中最低的两行。现在,它找到值数组中的最低行并从二进制数组中删除两次。我认为您需要花时间了解当前代码中的错误,然后查看您的代码以查看它是否符合您的要求。我不会只为你做你的工作。
    猜你喜欢
    • 2021-07-17
    • 2021-11-18
    • 2021-12-14
    • 1970-01-01
    • 2017-02-16
    • 2020-04-24
    • 2016-07-29
    • 2021-05-24
    • 2018-07-23
    相关资源
    最近更新 更多