类型错误的问题是什么:TypeError:“ numpy.float64”对象无法解释为整数

时间:2020-06-17 18:51:36

标签: python typeerror

因此,当我执行作业时,由于类型错误,此处的代码根本不起作用。我检查了一切,似乎还好。为什么会这样? enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

当您尝试获取一个numpy的随机数数组(np.random.randint()时,似乎会出现错误。看来您正在传递浮点数作为n中的参数get_batch2()。您可以使用.astype(np.int64)浮动该浮点数并将其转换为整数。

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

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