Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Para saber mais: alterando os nomes de colunas | Pandas: conhecendo a biblioteca

Como renomear colunas de um DataFrame no Pandas usando o método rename().

Exemplo

Suponha que você tenha o seguinte DataFrame:

df_exemplo = df['Tipo'].value_counts(normalize=True).to_frame().sort_values('Tipo')

print(df_exemplo)

Saída:

Tipo
Studio0.000173
Loft0.002207
Casa de Vila0.010774
Flat0.020596
Quitinete0.036173
Casa0.041842
Casa de Condomínio0.043096
Apartamento0.845139

A coluna que contém os percentuais recebeu automaticamente o nome "Tipo", pois ela foi criada a partir da coluna original.

Alterando o nome da coluna

Para mudar o nome para "Percentuais", utilize:

df_exemplo.rename(columns={'Tipo': 'Percentuais'}, inplace=True)

Explicação dos parâmetros

  • columns={'Tipo': 'Percentuais'}:

    • 'Tipo' → nome atual da coluna.
    • 'Percentuais' → novo nome desejado.
  • inplace=True:

    • Aplica a alteração diretamente no DataFrame original.
    • Sem esse parâmetro, seria necessário salvar o resultado em uma nova variável.

Resultado

print(df_exemplo)

Saída:

Percentuais
0.000173
0.002207
0.010774
0.020596
0.036173
0.041842
0.043096
0.845139

Outra forma (sem inplace=True)

df_exemplo = df_exemplo.rename(columns={'Tipo': 'Percentuais'})

Essa abordagem é bastante utilizada porque evita alterações diretas no DataFrame original e torna o código mais previsível.

Resumo

Para renomear colunas em Pandas:

df.rename(columns={'nome_antigo': 'nome_novo'}, inplace=True)

ou

df = df.rename(columns={'nome_antigo': 'nome_novo'})

O método rename() também permite renomear várias colunas ao mesmo tempo:

df.rename(columns={
    'Tipo': 'Percentuais',
    'Valor': 'Preço',
    'Data': 'Data Venda'
}, inplace=True)
1 resposta
solução!

Olá, Estudante. Como vai?

Excelente contribuição! O método rename() é um dos mais utilizados na fase de limpeza e preparação de dados, e a sua explicação sobre a diferença entre usar ou não o parâmetro inplace=True ficou perfeita e muito didática. Esse é um ponto que costuma gerar muitas dúvidas em quem está começando.

Para complementar o seu tópico e trazer mais algumas cartas na manga para os desenvolvedores que utilizam o Pandas, preparei três técnicas adicionais para renomear colunas:

1. Renomeando todas as colunas de uma vez só (Atribuição Direta)

Se o seu objetivo for alterar o nome de todas as colunas do DataFrame, você não precisa criar um dicionário mapeando chave por chave. É possível passar uma lista com os novos nomes diretamente para o atributo .columns do DataFrame:

# Supondo que o DataFrame tenha 3 colunas exatamente nessa ordem
df_exemplo.columns = ['Imóvel', 'Percentual', 'Quantidade']

Nota: Para essa abordagem funcionar, a nova lista deve ter exatamente a mesma quantidade de elementos que o DataFrame possui hoje.

2. Aplicando funções aos nomes das colunas

Imagine que você recebeu um arquivo onde todas as colunas estão escritas em letras maiúsculas ou com espaços em branco que podem atrapalhar na hora de digitar o código. O rename() permite passar uma função (como métodos de string nativos do Python) para transformar todos os nomes de uma vez:

# Transformar todos os nomes de colunas para letras minúsculas
df = df.rename(columns=str.lower)

# Substituir espaços por underscores (bom para usar o df.query())
df = df.rename(columns=lambda x: x.replace(' ', '_'))

3. Modificando os índices das linhas

O mesmo método rename() que você explicou tão bem para colunas também serve para alterar os rótulos das linhas (o índice do DataFrame). Para isso, em vez de usar o parâmetro columns, nós utilizamos o parâmetro index:

# Alterando o nome de índices específicos
df_exemplo.rename(index={'Apartamento': 'Apto'}, inplace=True)

Dominar essas variações do rename() ajuda muito a manter o código flexível e os dados bem organizados para as etapas de análise. Parabéns pelo resumo detalhado!

Espero que possa ter lhe ajudado!