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

[Dúvida] Pandas (df.columns,name)

Boa tarde,

O professor, em um curso de Pandas, mostra como criar um dataframe e colocar um nome para a coluna do 'df' com o argumento columns = []. Minha dúvida começa quando ele decide adicionar um nome para a coluna onde os índices estão. O código que o instrutor usa é esse:

tipos_de_dados.columns.name = 'Variáveis'

Não seria melhor usar o tipos_de_dados.rename_axis('Variáveis', axis = 'columns') ou tipos_de_dados.rename_axis('Variáveis') ? E o df.columns.name, ele serve para outra coisa além de nomear a coluna do índice?

Obrigado!

3 respostas
solução!

Oi Eduardo, tudo bem?

O código tipos_de_dados.columns.name = 'Variáveis' esse comando adiciona um nome ao conjunto de colunas do DataFrame, sem alterar os rótulos das colunas. Ou seja, ele define um nome que será exibido acima das colunas quando você visualizar o DataFrame. No caso, 'Variáveis' será mostrado como um cabeçalho do índice de colunas.

Já o tipos_de_dados.rename_axis('Variáveis', axis='columns') ou tipos_de_dados.rename_axis('Variáveis') são métodos mais flexíveis. Eles podem ser usados para renomear tanto o índice das linhas quanto o das colunas. No seu caso, ambos funcionariam, mas o primeiro é mais claro ao indicar que você está renomeando oeixo das colunas.

Ambas as formas são válidas, e a escolha entre uma ou outra pode depender do seu estilo de codificação ou da clareza que você quer no seu código.

Espero ter esclarecido.

Qualquer dúvida, compartilhe no fórum.

Abraços e bons estudos!

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

Obrigado pela resposta!

Eu posso nomear/ renomear mais de uma coluna com o df.columns.name? Eu não consegui achar muitas informações na documentação!!

Oi Eduardo.

Desculpe pela demora em obter um retorno.

Na verdade, o atributo df.columns.name serve apenas para nomear o conjunto de colunas como um todo e não para nomear ou renomear colunas individuais. Ele atribui um nome ao índice das colunas, mas não modifica os nomes das colunas propriamente ditas.

Se você quiser renomear várias colunas individualmente, deve usar o método df.rename(), ou diretamente atribuir novos nomes a df.columns.

Renomear colunas específicas:

df.rename(columns={'coluna_antiga1': 'nova_coluna1', 'coluna_antiga2': 'nova_coluna2'}, inplace=True)

Atribuir novos nomes diretamente:

df.columns = ['nova_coluna1', 'nova_coluna2', 'nova_coluna3']

Espero ter esclarecido.

Abraços e bons estudos!