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