Olá Guilherme, tudo bem? Espero que sim!
Desculpe pela demora em retornar.
Quando criamos uma tabela de frequências, os dados não ficam muito adequados para criação de gráficos. As bibliotecas matplotlib e seaborn funcionam melhor com os dados organizados em colunas. Portanto uma tabela que contenha uma coluna com a informação de Sexo e uma coluna com a informação de Cor seria necessária para a construção dos gráficos.
Há uma forma simples de transformar o os dados do formato de uma tabela de frequência para o formato adequado para a utilização do matplotlib e seaborn.
Você pode utilizar o método stack()
da bilioteca pandas
em conjunto com o reset_index()
para transformar as informações em novas colunas:
tabela = pd.DataFrame(percentual.stack().reset_index())
tabela
A tabela que antes tinha o formato:
Sexo | Indígena | Branca | Preta | Amarela | Parda |
---|
Masculino | 1081.71 | 2925.74 | 1603.86 | 4758.25 | 1659.58 |
Feminino | 2464.39 | 2109.87 | 1134.6 | 3027.34 | 1176.76 |
Terá agora o formato:
| Sexo | Cor | 0 |
---|
0 | Masculino | Indígena | 1081.71 |
1 | Masculino | Branca | 2925.74 |
2 | Masculino | Preta | 1603.86 |
3 | Masculino | Amarela | 4758.25 |
4 | Masculino | Parda | 1659.58 |
5 | Feminino | Indígena | 2464.39 |
6 | Feminino | Branca | 2109.87 |
7 | Feminino | Preta | 1134.6 |
8 | Feminino | Amarela | 3027.34 |
9 | Feminino | Parda | 1176.76 |
Agora basta utilizar o código para construir o gráfico:
import seaborn as sns
sns.barplot(data = tabela, y = 0, x = 'Cor', hue = 'Sexo')
Caso queira entender melhor o funcionamento do método stack()
, consulte a documentação
Bons estudos!