You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Jupyter Notebook用numpy做数据归一化时报tuple不能转整数错误如何解决

报错原因
  • 触发错误的核心是n = X.shape这行代码:numpy数组的shape属性返回的是(行数, 列数)格式的元组,而range()函数仅支持传入整数参数,将元组直接传入range(n)就会触发类型错误。
修复方法

你只需要修改一行代码即可解决问题,取X的列数作为循环上限:

# 原代码 n = X.shape 替换为下方代码
n = X.shape[1]
优化建议(可选)

你可以用numpy的广播特性省略for循环,一次性完成所有列的归一化,代码更简洁、执行效率更高:

# 替代整个for循环的单条归一化语句
X = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0))

额外提示:numpy索引从0开始,如果你要取原data.txt的第1到15列(最左列算第1列),当前X = np.array(data[:, 1:16])实际取的是原文件的第2到第16列,可根据你的数据情况确认是否需要调整为data[:, 0:15]。

内容的提问来源于stack exchange,提问作者Gibson Nkhata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:27:03