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

Tradução automática dos nomes dos campos

Gostaria de compartilhar esse algoritmo como conteúdo complementar com os colegas:

Instalando o 'googletrans':

pip install googletrans==4.0.0-rc1

Tradutor:

# Importando 'Translator()' e atribuindo a 'tradutor':
from googletrans import Translator
tradutor = Translator()

# Recuperando o nome das colunas do df e convertendo em lista:
colunas_ingles = list(dados.columns)

 # Tirando o '_' para que a tradução ocorra sem problemas:
colunas_ingles_para_traducao = []
for i in colunas_ingles:
    colunas_ingles_para_traducao.append(i.replace('_', ' '))

# Traduzindo:
colunas_portugues_traduzida = []
for i in colunas_ingles_para_traducao:
    colunas_portugues_traduzida.append(tradutor.translate(i, dest = "pt").text)

# Colocando '_' novamente nas strings:
colunas_portugues = []
for i in colunas_portugues_traduzida:
     colunas_portugues.append(i.replace(' ', '_'))

# Criando dicionário para aplicação do 'rename':
renomeacao = dict(zip(colunas_ingles, colunas_portugues))

# Renomeando:
dados.rename(columns = renomeacao, inplace = True)

Sei que não é algo prático para um df tão pequeno quanto o que estamos usando em aula e que a tradução pode não ser a melhor (ex.: 'time' -> 'tempo') . Nesse caso, a tradução manual como o instrutor faz é melhor. Contudo, quis apenas compartilhar esse conhecimento.

2 respostas
solução!

Olá Lucas, tudo bem ? Espero que sim.

Parabéns por compartilhar esse conhecimento, é uma etapa muito importante no aprendizado.

Quanto ao código ele está incrível, ficou muito simples de entender graças aos seus comentários. E muito bem separado para cada etapa da tradução.

Outro ponto super positivo foi a sua analise quanto a necessidade do código, você leu muito a situação ao concluir que uma automatização como essa seria melhor emprega em casos muitos dados a serem traduzidos. Mas usar esse seu código nessa situação também trouxe muito aprendizado porque conseguimos avaliar que o tradutor pode falhar em algumas traduções como no exemplo que você trouxe.

Acredito que a única sugestão que posso deixar é colocar essa solução em uma função e assim poder usa-la em momentos diferentes do seu projeto, mas funcionaria mais como uma pratica para você e não uma real necessidade do seu projeto.

Novamente parabéns pelo código e pela iniciativa de compartilhar conhecimento.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Muito legal seu codigo! Parabêns! vou guardar aqui pois com certeza utilizarei!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software