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入
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐