ValueError: no se puede convertir NaN flotante a entero en Python
-
Use el método
fillna()
para corregirValueError: no se puede convertir flotante NaN a entero
en Python -
Use el método
dropna()
para corregirValueError: no se puede convertir flotante NaN a entero
en Python -
Utilice la función
numpy.nan_to_num()
para corregirValueError: no se puede convertir NaN flotante en entero
en Python
El ValueError
se genera cuando proporciona un argumento válido a una función, pero es un valor no válido. Por ejemplo, obtendrá el ValueError
cuando proporcione un número negativo a la función sqrt()
de un módulo matemático
.
En Python, NaN
significa No es un número
, lo que indica las entradas que faltan en el conjunto de datos. Es un valor flotante especial que no se puede convertir a otros tipos que no sean flotantes.
El ValueError: no se puede convertir flotante NaN a entero
ocurre cuando intenta convertir un valor NaN
a un tipo entero.
Este tutorial le enseñará a corregir ValueError: no se puede convertir flotante NaN a entero
en Python.
Use el método fillna()
para corregir ValueError: no se puede convertir flotante NaN a entero
en Python
Hemos utilizado el siguiente conjunto de datos para convertir los datos de precios a un tipo entero.
Aquí hay un ejemplo de ValueError: no se puede convertir flotante NaN a entero
en Python.
# import pandas
import pandas
# read csv file
df = pandas.read_csv("itemprice.csv")
# convert to an integer type
df["price"] = df["price"].astype(int)
Producción :
pandas.errors.IntCastingNaNError: Cannot convert non-finite values (NA or inf) to integer
Hay dos valores NaN
en el conjunto de datos. Puede resolver este problema reemplazando los valores NaN
con 0
.
El método fillna()
reemplaza los valores NaN
con un valor dado en Python. Comprueba los valores NaN
en la columna y los completa con un valor específico.
df_new = df.fillna(0)
print(df_new)
Producción :
items price
0 A 540.0
1 B 370.0
2 C 0.0
3 D 220.0
4 E 0.0
Ahora, convierta el tipo flotante en un tipo entero.
df_new["price"] = df_new["price"].astype(int)
Compruebe el tipo de datos para verificar.
print(df_new["price"].dtype)
Producción :
int32
Use el método dropna()
para corregir ValueError: no se puede convertir flotante NaN a entero
en Python
El método dropna()
elimina todos los valores NULL
en el objeto DataFrame.
El siguiente ejemplo elimina las filas que contienen valores NULL
en el conjunto de datos.
df_new = df.dropna()
print(df_new)
Producción :
items price
0 A 540.0
1 B 370.0
3 D 220.0
Ahora, puede convertir fácilmente los datos a un tipo entero.
df_new["price"] = df_new["price"].astype(int)
print(df_new["price"].dtype)
Producción :
int32
Utilice la función numpy.nan_to_num()
para corregir ValueError: no se puede convertir NaN flotante en entero
en Python
También puedes solucionar este error usando la función numpy.nan_to_num()
. Cambia el valor NaN
a 0.0
, que se puede convertir a un número entero.
import numpy
dt = numpy.nan
print(dt)
Producción :
nan
Use la función numpy.nan_to_num()
para reemplazar el valor NaN
con 0.0
.
dt = numpy.nan_to_num(dt)
print(dt)
Producción :
0.0
Luego conviértalo a un tipo entero.
dt = dt.astype(int)
print(dt.dtype)
Producción :
int32
El ValueError: no se puede convertir NaN flotante en entero
aparece cuando intenta convertir un valor NaN
en un tipo entero. Puede solucionar este problema rellenando los valores NaN
con un valor específico o eliminando las filas que contienen valores NaN
.
Ahora ya sabe cómo resolver ValueError: no se puede convertir NaN flotante en entero
en Python. Esperamos que estas soluciones le resulten útiles.
Artículo relacionado - Python ValueError
Artículo relacionado - Python Error
- Administrar fallas de segmentación en Python
- Archivo <Stdin>, Línea 1, en <Módulo> Error en Python
- Arreglar AttributeError: el objeto 'generador' no tiene atributo 'siguiente' en Python
- Arreglar el comando cl.exe falló: no existe tal archivo o directorio en Windows
- Arreglar NameError: la variable no está definida en Python
- Arreglar Socket.Gaierror: [Errno 8] Nodename ni Servname proporcionado, o desconocido en Python