Esta cuestión se puede tratar de diferentes formas, pero en este caso te enseñamos la respuesta más completa en nuestra opinión.
Solución:
Si estás leyendo con read_csv
puede especificar cómo interpreta los decimales con el decimal
parámetro.
p.ej
your_df = pd.read_csv('/your_path/your_file.csv',sep=';',decimal=',')
De las páginas man:
miles: str, separador de miles opcional.
decimal: cadena, predeterminado ‘.’ Carácter para reconocer como punto decimal (por ejemplo, use ‘,’ para datos europeos).
Debe volver a asignar el resultado de su operación ya que la operación no está en su lugar, además puede usar apply
o stack
y unstack
con vectorizado str.replace
para hacer esto más rápido:
In [5]:
df.apply(lambda x: x.str.replace(',','.'))
Out[5]:
1-8 1-7
H0 0.140711 0.140711
H1 0.0999 0.0999
H2 0.001 0.001
H3 0.140711 0.140711
H4 0.140711 0.140711
H5 0.140711 0.140711
H6 0 0
H7 0 0
H8 0.140711 0.140711
H9 0.140711 0.140711
H10 0.140711 0.1125688
H11 0.140711 0.1125688
H12 0.140711 0.1125688
H13 0.140711 0.1125688
H14 0.140711 0.140711
H15 0.140711 0.140711
H16 0.140711 0.140711
H17 0.140711 0.140711
H18 0.140711 0.140711
H19 0.140711 0.140711
H20 0.140711 0.140711
H21 0.140711 0.140711
H22 0.140711 0.140711
H23 0.140711 0.140711
In [4]:
df.stack().str.replace(',','.').unstack()
Out[4]:
1-8 1-7
H0 0.140711 0.140711
H1 0.0999 0.0999
H2 0.001 0.001
H3 0.140711 0.140711
H4 0.140711 0.140711
H5 0.140711 0.140711
H6 0 0
H7 0 0
H8 0.140711 0.140711
H9 0.140711 0.140711
H10 0.140711 0.1125688
H11 0.140711 0.1125688
H12 0.140711 0.1125688
H13 0.140711 0.1125688
H14 0.140711 0.140711
H15 0.140711 0.140711
H16 0.140711 0.140711
H17 0.140711 0.140711
H18 0.140711 0.140711
H19 0.140711 0.140711
H20 0.140711 0.140711
H21 0.140711 0.140711
H22 0.140711 0.140711
H23 0.140711 0.140711
los key la cosa aquí es asignar de nuevo el resultado:
df = df.stack().str.replace(',','.').unstack()
Valoraciones y reseñas
Nos puedes reafirmar nuestro ensayo poniendo un comentario o puntuándolo te damos la bienvenida.