es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Python: ValueError: no se pudo convertir la cadena en un número decimal: ‘1,086’

He estado aprendiendo cómo crear un modelo de predicción mirando este tutorial paso a paso en el siguiente sitio web: https://towardsdatascience.com/step-by-step-guide-building-a-prediction-model-in-python-ac441e8b9e8b

Los datos que estaba utilizando son los casos de Covid-19 en Perú desde enero hasta septiembre, y con estos datos, quiero predecir los casos de muerte desde octubre hasta diciembre.
Sin embargo, el tipo de datos “Nuevos Casos” no se puede convertir a tipo float. Entonces, agregué esto:

df = df.replace(r’^\s*$’, np.nan, regex=True)
Pero tampoco funcionó… ¿Qué debería hacer?

df = df[[‘Fecha’, ‘Nuevos Casos’]]
df.head()

df = df.replace(r’^\s*$’, np.nan, regex=True)
df = df.astype({“Nuevos Casos”: float})
df[“Fecha”] = pd.to_datetime(df.Fecha, format=”%Y/%m/%d”)
df.dtypes
df.index = df[‘Fecha’]
plt.plot(df[“Nuevos Casos”],label=’Casos Nuevos del 1/1/2020 al 30/9/2021′)

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que reemplazar cadenas vacías o con espacios en blanco con valores NaN y tratar de convertir la columna “New Cases” a float no resolvió el problema de la conversión del tipo de dato. Una posible solución es eliminar primero cualquier coma en la columna “New Cases”, ya que las comas pueden interferir con la conversión a float. Esto se puede hacer usando el siguiente código:

    df['New Cases'] = df['New Cases'].str.replace(',', '')
    

    Después de este paso, la columna “New Cases” debería estar en un formato que se puede convertir a float. Luego puedes probar el siguiente código para convertir el tipo de dato:

    df['New Cases'] = df['New Cases'].astype(float)
    

    Asegúrate de aplicar estos pasos antes de establecer la columna “Date” como el índice y graficar los datos.

Comments are closed.