Renomeando colunas do DataFrame. (#python #pandas #jupyter #dev #data)

Neste post vou demonstrar uma forma de renomear as colunas de um DataFrame do Pandas e uma forma de substituir caracteres nas colunas (basicamente um replace, mas aplicado a todas as colunas).

Para seguir este exemplo, carregue um dataset que está disponibilizado no meu repositório:

import pandas as pd

df = pd.read_csv("https://raw.githubusercontent.com/brenordv/data-samples/main/csv/NASA/missionstars.csv", comment="#")

Neste código, estou carregando um dataset pronto, disponível no repositório. Para ver o primeiros dados disponíveis dele, utilize o comando abaixo:

df.head()

 

Renomeando Colunas

Agora vou renomear as seguintes colunas:

  • rowid vai passar a se chamar id
  • star_name vai virar star
  • hip_name será renomeada para hip
df.rename(columns={
    "rowid": "id",
    "star_name": "star",
    "hip_name": "hip"
})

 

Ao executar este comando, as colunas serão renomeadas. Este comando aceita também o parâmetro inplace, ou seja, você pode informa-lo com valor True e o DataFrame será alterado ao invés de retornar uma versão alterada.

 

Substituindo caracteres nas colunas

No DataFrame que estamos utilizando, vou substituir os _ por -:

df.columns.str.replace("_", "-")

O resultado deste método vai ser um objeto do tipo Index, com a lista das colunas (já com os valores alterados).

Só fazer isso não vai substituir as colunas do DataFrame que estamos utilizando, mas isso é uma ação simples:

df.columns = df.columns.str.replace("_", "-")

Agora sim, as colunas do DataFrame foram alteradas.

 

Caso queira ver este exemplo funcionando, criei um Jupyter notebook com os exemplos deste post: https://github.com/brenordv/demo-pandas-jupyter/blob/master/pd_rename_columns.ipynb

 

Espero ter ajudado.

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Dev, Python and tagged , , , , .