📌  相关文章
📜  如何修复:“numpy.float64”对象不能解释为整数

📅  最后修改于: 2022-05-13 01:55:46.681000             🧑  作者: Mango

如何修复:“numpy.float64”对象不能解释为整数

在本文中,我们将看到如何解决:“numpy.float64”对象不能被解释为整数。

当函数或操作应用于错误类型的对象时,会引发类型错误。 'numpy.float64' 对象不能被解释为整数是这类问题的一个例子。让我们看看我们能做些什么。

我们什么时候得到''numpy.float64'对象不能被解释为整数'?

如果我们在Python的 range() 中给出一个浮点数,它会导致“numpy.float64”对象不能被解释为整数错误。

range()函数: range()函数返回一个从 0 开始并递增 1 的数字系列,然后在指定值处停止。

Python3
# code
import numpy as np
  
# an array of float values
arr = np.array([1.5, 2.5, 3.5])
  
  
# we loop to print out range of values 
# at each index
for i in range(len(arr)):
    print(range(arr[i]))


Python3
# code
import numpy as np
  
# an array of float values
arr = np.array([1.5, 2.5, 3.5])
  
arr = arr.astype(int)
  
# we loop to print out range of values
# at each index
for i in range(len(arr)):
    print(range(arr[i]))


Python3
# code
import numpy as np
  
# an array of float values
arr = np.array([1.5, 2.5, 3.5])
  
  
# we loop to print out range of values
# at each index
for i in range(len(arr)):
    print(range(int(arr[i])))


输出:

如何修复此错误?

当我们有一个值列表,并且我们想要更改它们的类型以防止错误时。

方法一:使用 astype()

我们可以使用 .astype()函数并给出参数“int”。 astype()函数:当我们需要将某个数据数组从一种类型转换为另一种类型时,该方法很有帮助。

Python3

# code
import numpy as np
  
# an array of float values
arr = np.array([1.5, 2.5, 3.5])
  
arr = arr.astype(int)
  
# we loop to print out range of values
# at each index
for i in range(len(arr)):
    print(range(arr[i]))

输出:

range(0, 1)
range(0, 2)
range(0, 3)

方法二:使用 Int()函数

在这里,我们将 int()函数在进入范围之前强制转换数组对象。

Python3

# code
import numpy as np
  
# an array of float values
arr = np.array([1.5, 2.5, 3.5])
  
  
# we loop to print out range of values
# at each index
for i in range(len(arr)):
    print(range(int(arr[i])))

输出:

range(0, 1)
range(0, 2)
range(0, 3)