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

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.