IndexError: index 9 is out of bounds for axis 0 with size 9;数组下标溢出问题

IndexError: index 9 is out of bounds for axis 0 with size 9

​ 今天在写一个机器学习算法的时候遇到了这样一个问题,算法原型的一部分是想要求样本数据特征平均值,本身是很简单,但是报出一个

IndexError: index 9 is out of bounds for axis 0 with size 9 错误。。。。翻译一下:索引9超出轴0的大小为9的界限。

问题的解决

首先我要处理的训练集类似这样:(只是一个部分的比喻)

数据集特征个数为9,因为是表格是二维的,我在设置循环时候错误的写成了X_train[j],[i], 因为x[n],[m]代表第n+1行的第m+1个数,前面X_train[j],[i], 写错了i,和j的位置,i最大43500 肯定远超过了9,所以报了个大大的红!!!

  • 改正后的代码如下,X_train[i],[j],才是正解。。
  • for j in range(len(X_train[0])):#j(0-9)
        valsum=0
        for i in range(len(X_train)):#i(0-43500)
            valsum+=X_train[i][j]
        valsum/=len(X_train)
        avg.append(valsum)
    

    另外记录一下,当想取指定长度的浮点数,可以使用round()函数;

    a = 3.1415926
    print(round(a, 4))
    # 3.142 会自动进位4舍5入
    

    来源:zhangkai__

    物联沃分享整理
    物联沃-IOTWORD物联网 » IndexError: index 9 is out of bounds for axis 0 with size 9;数组下标溢出问题

    发表评论