Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Transformar pontos (.) por vírgulas (,) dentro de um DataFrame

Pessoal,

Minha dúvida é a respeito da visualização do número. Como eu faço a conversão de pontos para vírgulas? Minha base será exportada para o excel que tem como padrão entendera casa decimal com vírgula. Gostaria de saber se existe alguma forma de alterar isso dentro do DataFrame. Exemplo:

5.4 -> 5,4

Desde já, agradeço!

5 respostas
solução!

Olá Allan,

O que você pode fazer é converter a coluna para o tipo string e depois aplicar um replace para trocar o . por ,

import pandas as pd

data = {
    'nome': ['João', 'Ana', 'Maria'],
    'saldo': [1000.7, 500., 1200.5],
}

df = pd.DataFrame(data)

df['saldo'] = df['saldo'].astype(str)
df['saldo'] = df['saldo'].str.replace('.', ',')

A ideia que o Lucas deu foi boa, mas eu acho que quando ele transformar o saldo para str ele não conseguira mais realizar funções matemática com saldo, pois ele não será mais do tipo int, float.. Não tenho certeza. Alguém poderia confirmar isso pra mim ?

Bem observado Venâncio!

Após a conversão não é possível realizar mais cálculos com essa coluna, apenas se fizer o processo reverso de conversão. O caminho é realizar todas as operações necessárias e apenas no final, logo antes de exportar, que é feita essa transformação.

Mas acabou me surgindo outra dúvida também, como o DataFrame está sendo exportado? Isso pode ser feito com o to_csv() ou o to_excel() nesse caso, utilizando o primeiro vai ser necessário aplicar a transformação que eu mostrei acima, mas já com o to_excel() não vai precisar transformar nenhuma coluna, o próprio pandas já ajusta a coluna para ser identificada como numérica na planilha.

Maneiro Lucas, obrigado pela confirmação da minha duvida. Agora é esperar o Allan pra ver se a duvida dele foi solucionada, a minha foi !

Boa noite pessoal!

A transformação me ajudou sim! Peço desculpas pela demora. Acabei não conseguindo entrar antes.

Vou tentar salvar como

to_excel

para ver qual vai ser o resultado. Não sabia dessa propriedade dentro da biblioteca.

Valeu pela ajuda!