não ficou claro porque o comando "dist_freq_qualitativas.rename_axis('Sexo', axis='columns')" altera o titulo em cima do "index".
Se eu quisesse alterar outro titulo como ficaria? Frequência ou porcentagem, exemplo.
não ficou claro porque o comando "dist_freq_qualitativas.rename_axis('Sexo', axis='columns')" altera o titulo em cima do "index".
Se eu quisesse alterar outro titulo como ficaria? Frequência ou porcentagem, exemplo.
Olá, Matheus, tudo bem?
Para explicar o comando, eu vou mostrar como usar o rename_axis() tanto para columns quanto para index, tudo bem?
O instrutor adicionou a coluna Sexo através do parâmetro axis='columns' mais como um efeito visual. Pois o parâmetro axis em rename_axis() é responsável por renomear um eixo sendo ele ou o do index ou o das colunas. Para ilustrar esse efeito, vamos utilizá-lo com um outro exemplo de DataFrame:
O nosso Dataframe inicialmente tem o seguinte código e formato:
import pandas as pd
atletas = pd.DataFrame([['Marcos', 9.62], ['Pedro', 9.81], ['João', 9.69], 
                        ['Beto', 9.72]], columns = ['Corredor', 'Melhor Tempo'])
atletas
Dataframe original:
| Corredor | Melhor Tempo | |
|---|---|---|
| 0 | Marcos | 9.62 | 
| 1 | Pedro | 9.81 | 
| 2 | João | 9.69 | 
| 3 | Beto | 9.72 | 
Usando o parâmetro axis = 'columns'
Para dar um título às nossas colunas usamos esse parâmetro. Note que o professor o utilizou na aula como um artifício de manter todos os labels no topo:
atletas = pd.DataFrame([['Marcos', 9.62], ['Pedro', 9.81], ['João', 9.69], 
                        ['Beto', 9.72]], columns = ['Corredor', 'Melhor Tempo'])
atletas.rename_axis('id', axis = 'columns', inplace = True)
atletasDataframe com o parâmetro axis = 'columns':
| id | Corredor | Melhor Tempo | 
|---|---|---|
| 0 | Marcos | 9.62 | 
| 1 | Pedro | 9.81 | 
| 2 | João | 9.69 | 
| 3 | Beto | 9.72 | 
Usando o parâmetro axis = 'index'
Para dar um título ao nosso index usamos esse parâmetro. Neste caso, ele vai para uma camada abaixo, separando o título do index dos labels da coluna:
atletas = pd.DataFrame([['Marcos', 9.62], ['Pedro', 9.81], ['João', 9.69], 
                        ['Beto', 9.72]], columns = ['Corredor', 'Melhor Tempo'])
atletas.rename_axis('id', axis = 'index', inplace = True)
atletasDataframe com o parâmetro axis = 'index':
| Corredor | Melhor Tempo | |
|---|---|---|
| id | ||
| 0 | Marcos | 9.62 | 
| 1 | Pedro | 9.81 | 
| 2 | João | 9.69 | 
| 3 | Beto | 9.72 | 
Existem uma série de formas de realizar a mudança dos labels das colunas. A mais adequada para renomear colunas específicas seria através do método .rename() referindo as colunas que deseja alterar (serve para 1 ou mais colunas):
dados.rename(columns={'nome_antigo_1': 'nome_novo_1', 'nome_antigo_2': 'nome_novo_2'}, inplace=True)
Usando nosso exemplo teríamos:
import pandas as pd
atletas = pd.DataFrame([['Marcos', 9.62], ['Pedro', 9.81], ['João', 9.69], 
                        ['Beto', 9.72]], columns = ['Corredor', 'Melhor Tempo'])
atletas.rename(columns={'Melhor Tempo': 'melhor_tempo'}, inplace=True)
atletas
Com a saída:
| Corredor | melhor_tempo | |
|---|---|---|
| 0 | Marcos | 9.62 | 
| 1 | Pedro | 9.81 | 
| 2 | João | 9.69 | 
| 3 | Beto | 9.72 | 
Espero ter ajudado e qualquer dúvida é só chamar!
Forte abraço!