Como Renomear Colunas em Pandas DataFrame
-
Renomear colunas em Pandas
DataFrame
utilizando o métodoDataFrame.columns
-
Renomear colunas em Pandas
DataFrame
UtilizandoDataFrame.rename()
Método -
Renomear colunas em Pandas
DataFrame
utilizandoDataFrame.set_axis()
Método

Muitas vezes precisamos renomear uma coluna em Pandas ao realizar a análise de dados. Este artigo introduzirá diferentes métodos para renomear os nomes das colunas de Pandas em Pandas DataFrame
.
Renomear colunas em Pandas DataFrame
utilizando o método DataFrame.columns
Este método é bastante simples e permite renomear colunas diretamente. Podemos atribuir uma lista de novos nomes de colunas utilizando o atributo DataFrame.columns
como segue:
import pandas as pd
example_df = pd.DataFrame([
['John', 20, 45],
['Peter', 21, 62],
['Scot', 25, 68]],
index=[0, 1, 2],
columns=['Name', 'Age', 'Marks'])
print"\nOriginal DataFrame"
print(pd.DataFrame(example_df))
example_df.columns = ['Name','Age','Roll_no']
print"\nModified DataFrame"
print(pd.DataFrame(example_df))
Resultado:
Original DataFrame
Name Age Marks
0 John 20 45
1 Peter 21 62
2 Scot 25 68
Modified DataFrame
Name Age Roll_no
0 John 20 45
1 Peter 21 62
2 Scot 25 68
Uma desvantagem desta abordagem é que você tem que listar a coluna inteira mesmo que apenas uma das colunas precise ser renomeada. A especificação de toda a lista de colunas torna-se impraticável quando você tem um grande número de colunas.
Renomear colunas em Pandas DataFrame
Utilizando DataFrame.rename()
Método
A abordagem alternativa ao método anterior é utilizar o método DataFrame.rename()
. Este método é bastante útil quando não precisamos renomear todas as colunas.
Precisaremos especificar o nome da coluna antiga como chave e os novos nomes como valores.
import pandas as pd
example_df = pd.DataFrame([['John', 20, 45, 78],
['Peter', 21, 62, 68],
['Scot', 25, 68, 95]],
index=[0, 1, 2],
columns=['Name', 'Age', 'Marks','Roll_no'])
print"\nOriginal DataFrame"
print(pd.DataFrame(example_df))
example_df.rename(columns={'Marks': 'Roll_no',
'Roll_no': 'Marks'}, inplace=True)
print"\nModified DataFrame"
print(pd.DataFrame(example_df))
Resultado:
Original DataFrame
Name Age Marks Roll_no
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Modified DataFrame
Name Age Roll_no Marks
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
A vantagem mais significativa deste método é que você pode especificar quantas colunas quiser. É bastante útil quando é necessário renomear colunas específicas e, ao contrário dos métodos anteriores, não é necessário listar toda a lista de colunas para o DataFrame
.
Você pode notar que no DataFrame.rename()
chamada de função, especificamos o parâmetro inplace
como True
. O parâmetro inplace
é, por padrão, False
e determina se devemos retornar um novo pandas DataFrame
ou não.
Especificá-lo como True
significa que a chamada de função não retorna um novo pandas DataFrame
, mas muda o DataFrame
existente no lugar.
Renomear colunas em Pandas DataFrame
utilizando DataFrame.set_axis()
Método
Outro método conveniente para renomear colunas de pandas DataFrame
. Temos que especificar toda a lista de colunas enquanto utilizamos este método.
import pandas as pd
example_df = pd.DataFrame([['John', 20, 45, 78],
['Peter', 21, 62, 68],
['Scot', 25, 68, 95]],
index=[0, 1, 2],
columns=['Name', 'Age', 'Marks','Roll_no'])
print"\nOriginal DataFrame"
print(pd.DataFrame(example_df))
example_df.set_axis(['Name', 'Age', 'Roll_no','Marks'],
axis='columns', inplace=True)
print"\nModified DataFrame"
print(pd.DataFrame(example_df))
Resultado:
Original DataFrame
Name Age Marks Roll_no
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Modified DataFrame
Name Age Roll_no Marks
0 John 20 45 78
1 Peter 21 62 68
2 Scot 25 68 95
Artigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum