Dataframe dtype: object a to_numeric/astype/float
Publicado por P (2 intervenciones) el 18/06/2021 17:46:51
Hola a todos. Soy Pol y soy nuevo en el foro.
Tengo un df con los valores que hay en una cartera de inversión:
Mi objetivo es trabajar con las sumas de varias columnas, como la última 'euros'.
El problema que tengo es que no consigo sumar los valores de dicha columna porque me da como resultado:
'184,3442,9191,7361,62318,9584,8679,79121,45133,39142,6525,67127,1635,1243,6647,310,5299,4071,1648,76415,50106,914,131,2498,63485,1369,978,95206,1464,68304,925,490,96294,6821,0497,82105,99569,90254,83'
Si hago df.dtypes obtengo:
producto object
symbol object
cantidad float64
precio_a object
local object
euros object
dtype: object
Si hago type(df) obtengo:
pandas.core.series.Series
¿Debo cambiar la clase de la columna 'euros' de object a numeric/float? ¿Debo cambiar solo esa columna o todo el df?
He intentado hacer df.to_numeric() pero da el error:
'DataFrame' object has no attribute 'to_numeric'
He intentado df['euros'].replace('[^\d.]', regex=True).astype(float) pero me dice:
ValueError: could not convert string to float: '184,34'
¿Alguien que me ayude a saber por dónde está solución? Estoy totalmente perdido.
Perdonad si es una duda muy simple pero soy nuevo en Python y programación.
Gracias por leer.
Tengo un df con los valores que hay en una cartera de inversión:
Mi objetivo es trabajar con las sumas de varias columnas, como la última 'euros'.
El problema que tengo es que no consigo sumar los valores de dicha columna porque me da como resultado:
'184,3442,9191,7361,62318,9584,8679,79121,45133,39142,6525,67127,1635,1243,6647,310,5299,4071,1648,76415,50106,914,131,2498,63485,1369,978,95206,1464,68304,925,490,96294,6821,0497,82105,99569,90254,83'
Si hago df.dtypes obtengo:
producto object
symbol object
cantidad float64
precio_a object
local object
euros object
dtype: object
Si hago type(df) obtengo:
pandas.core.series.Series
¿Debo cambiar la clase de la columna 'euros' de object a numeric/float? ¿Debo cambiar solo esa columna o todo el df?
He intentado hacer df.to_numeric() pero da el error:
'DataFrame' object has no attribute 'to_numeric'
He intentado df['euros'].replace('[^\d.]', regex=True).astype(float) pero me dice:
ValueError: could not convert string to float: '184,34'
¿Alguien que me ayude a saber por dónde está solución? Estoy totalmente perdido.
Perdonad si es una duda muy simple pero soy nuevo en Python y programación.
Gracias por leer.
Valora esta pregunta
0