Renomeando colunas do DataFrame. (#python #pandas #jupyter #dev #data)
Overview
Neste tutorial divertido e direto ao ponto, vou te levar através de técnicas práticas para renomear colunas e substituir caracteres em DataFrames do Pandas. Se você já tem um pouquinho de conhecimento em Python e quer aprimorar suas habilidades em manipulação de dados, esse post foi feito sob medida para você! Agarre seu dataset favorito e vem comigo descobrir como tornar seus dados ainda mais acessíveis e organizados.
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.