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入
  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值