类型错误有什么问题:TypeError:“numpy.float64”对象不能解释为整数

2024-09-30 16:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以当我在做作业时,这里的代码根本不起作用,因为有一个类型错误。我检查了所有的东西,看起来没问题。为什么会发生这种情况enter image description here

enter image description here


Tags: 代码image类型here错误情况descriptionenter
1条回答
网友
1楼 · 发布于 2024-09-30 16:39:10

当您尝试获取随机数的numpy数组(np.random.randint())时,可能会出现所获得的错误。看起来您正在get_batch2()中以参数n的形式传递浮点。您可以使用.astype(np.int64)将该浮点设置为下限,并将其转换为整数

简单地说,numpy.float64对象不能在代码中用作整数;它们是不同的数据类型。必须对浮点进行某种操作才能将其转换为整数。整数不能保存浮点可以保存的所有数据(整数不能存储数字的小数部分),因此您必须执行类似于将浮点舍入到最接近的整数等操作。.astype(np.int64)方法将返回numpy.int64类型中的float或float数组等

numpy 1.12.0及更高版本似乎会引发此异常。如果出于任何原因,您不想处理转换为整数的问题,其中一个解决方案是安装版本为1.11.0或更低版本的numpy:https://stackoverflow.com/a/44669924/12076702

相关问题 更多 >