En este artículo, veremos cómo corregir: el objeto ‘numpy.float64’ no se puede interpretar como un número entero.
Cuando se aplica una función u operación a un objeto del tipo incorrecto, se genera un error de tipo. El objeto ‘numpy.float64’ no puede interpretarse como un número entero es un ejemplo de este tipo de problema. Veamos qué podemos hacer al respecto.
¿Cuándo obtenemos que el objeto «numpy.float64» no se puede interpretar como un número entero «?
si damos un número flotante en un range() en python, da como resultado un objeto ‘numpy.float64’ que no se puede interpretar como un error de número entero.
Función range() : La función range() devuelve una serie de números que comienza en 0 y se incrementa en 1 antes de detenerse en un valor específico.
sintaxis: rango (inicio, parada, paso)
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]))
Producción:
TypeError: el objeto ‘numpy.float64’ no se puede interpretar como un número entero
¿Cómo arreglar este error?
cuando tenemos una lista de valores y queremos cambiar su tipo para evitar errores.
Método 1: Usar un tipo()
Podemos usar la función .astype() y dar el argumento «int». Función astype() : cuando necesitamos convertir una determinada array de datos de un tipo a otro, el método resulta útil.
Parámetros
- dtype: se refiere al tipo de datos de la lista o dictado del nombre de la columna
- copia: valor booleano, por defecto se establece en True
- errores: {‘raise’, ‘ignore’}, el valor predeterminado es ‘raise’
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]))
Producción:
range(0, 1) range(0, 2) range(0, 3)
Método 2: Usar la función Int()
Aquí usaremos la función int() para lanzar el objeto de array antes de entrar en el rango.
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])))
Producción:
range(0, 1) range(0, 2) range(0, 3)
Publicación traducida automáticamente
Artículo escrito por isitapol2002 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA