Skip to content

Como Renomear Colunas no Pandas

Updated on

Renomear colunas é uma das tarefas mais frequentes ao limpar ou organizar dados no Pandas. Nomes de coluna claros e descritivos tornam seu DataFrame mais legível e melhoram drasticamente as análises posteriores.

Neste guia atualizado para 2025, você vai aprender todas as principais formas de renomear colunas no Pandas, com boas práticas, exemplos e armadilhas comuns a evitar.

Quer uma forma mais rápida de explorar e visualizar seu DataFrame do Pandas — sem escrever gráficos manualmente?

PyGWalker transforma qualquer DataFrame em uma interface de exploração visual no estilo Tableau. Experimente aqui: https://github.com/Kanaries/pygwalker (opens in a new tab)

PyGWalker for Data visualization (opens in a new tab)


📌 O que Significa Renomear Colunas no Pandas?

Renomear colunas significa simplesmente alterar um ou mais rótulos de coluna no seu DataFrame.
Isso é útil quando:

  • Os nomes das colunas são pouco claros ou inconsistentes
  • Eles contêm espaços, caracteres especiais ou erros de digitação
  • Você precisa de nomes padronizados para fazer merge ou modelagem
  • Você quer rótulos mais amigáveis para apresentação ou visualização

O Pandas oferece várias formas convenientes de renomear colunas — cada uma atendendo a necessidades diferentes.


🔧 Como Renomear Colunas no Pandas (Todos os Métodos)

Abaixo estão as abordagens mais comuns e recomendadas.


✅ 1. Renomear uma Única Coluna com rename()

Este é o método mais seguro e explícito.

import pandas as pd
 
df = pd.DataFrame({
    'Name': ['John', 'Alex', 'Peter'],
    'Age': [25, 24, 28],
    'Gender': ['Male', 'Male', 'Male']
})
 
df = df.rename(columns={'Age': 'Years'})
print(df)

Saída:

    Name  Years Gender
0   John     25   Male
1   Alex     24   Male
2  Peter     28   Male

✅ 2. Renomear Várias Colunas com rename()

Basta passar um dicionário maior.

df = df.rename(columns={
    'Age': 'Years',
    'Gender': 'Sex'
})

Essa abordagem evita problemas acidentais com a ordem das colunas e preserva o índice.


✅ 3. Renomear Todas as Colunas de Uma Vez com df.columns = [...]

Útil quando você já conhece todos os novos nomes de coluna.

df.columns = ['ID', 'Years', 'Dept']

⚠️ Importante: O tamanho da lista deve corresponder ao número de colunas.


✅ 4. Renomear Colunas com set_axis() (Estilo Funcional)

Um método que retorna um novo DataFrame, a menos que inplace=True.

df = df.set_axis(['A', 'Years', 'B'], axis=1)

Embora flexível, esse método é menos usado para renomeações simples.


✅ 5. Renomear Colunas Dinamicamente com List Comprehension

Perfeito para operações de formatação em massa:

df.columns = [col.replace('_', ' ').title() for col in df.columns]

Ótimo para limpeza automatizada:

  • Converter para minúsculas
  • Remover espaços
  • Adicionar prefixos ou sufixos

Exemplos:

df.columns = [col.lower() for col in df.columns]
df.columns = [f"user_{col}" for col in df.columns]

✅ 6. Renomear Colunas pelo Índice

Renomear por índice de coluna é pouco comum, mas é suportado:

df = df.rename(columns={2: 'Dept'})

Útil quando os nomes das colunas são desconhecidos, duplicados ou gerados dinamicamente.


🧠 Boas Práticas para Renomear Colunas

✔ Prefira rename() pela clareza

rename() é explícito e evita surpresas.

✔ Evite modificar df.columns a menos que renomeie todas

Alterar a lista inteira é rápido — mas implacável se as contagens não baterem.

✔ Use minúsculas + underscore para pipelines de dados limpos

df.columns = [c.lower().replace(' ', '_') for c in df.columns]

✔ Evite inplace=True

A documentação do Pandas reforça que inplace=True não traz benefícios de performance.


⚡ Cheatsheet Rápido

df.rename(columns={'old': 'new'})
df.columns = ['A', 'B', 'C']
df = df.set_axis(['A', 'B', 'C'], axis=1)
df.columns = [col.lower() for col in df.columns]
df.rename(columns={2: 'new_name'})

🏁 Conclusão

Renomear colunas é uma parte simples, mas essencial, da preparação de um DataFrame para análise. O Pandas oferece várias maneiras de fazer isso — desde renomeações explícitas com rename(), até formatação em massa via list comprehension.

A abordagem recomendada é:

  • Usar rename() ao renomear colunas específicas
  • Usar df.columns = [...] ao renomear todas as colunas
  • Usar list comprehension para transformações dinâmicas
  • Usar renomeação baseada em índice apenas quando necessário

Com essas ferramentas, você mantém seus dados limpos, consistentes e fáceis de trabalhar.


🔗 Tutoriais Relacionados


❓ Perguntas Frequentes

1. Como renomear uma coluna no Pandas?

Use rename():

df.rename(columns={'old': 'new'})

2. Como renomear uma coluna pelo índice?

df.rename(columns={0: 'id'})

3. Como renomear todas as colunas de uma vez?

df.columns = ['A', 'B', 'C']