1
resposta

Mão na massa: analisando o perfil das pessoas responsáveis

#Construa uma tabela de frequências das pessoas responsáveis pelo domicílio por Cat.Sexo. Adicione também uma coluna com esse valor em porcentagem

frequencia_sexo = (dados.groupby('sexo_nome').size().reset_index(name = 'freq_absoluta'))
frequencia_sexo['freq_relativa'] = round(frequencia_sexo['freq_absoluta'] / frequencia_sexo['freq_absoluta'].sum(), 2) * 100

#Construa uma tabela de frequências absolutas e outra de relativas cruzando as variáveis Cat.Sexo e Cat.Cor das pessoas responsáveis pelo domicílio.

freq_sexo_cor_absoluta = pd.crosstab(dados['sexo_nome'], dados['cor_nome'])
freq_sexo_cor_absoluta

freq_sexo_cor_relativa = round(pd.crosstab(dados['sexo_nome'], dados['cor_nome'], normalize = 'all') * 100, 2)
freq_sexo_cor_relativa

#Construa uma tabela cruzada para calcular a `Renda` média das pessoas responsáveis pelo domicílio em relação ao `Cat.Sexo` e `Cat.Cor`.

tab_renda_sexo_cor = round(pd.crosstab(dados['sexo_nome'], dados['cor_nome'], values = dados['Renda'], aggfunc = 'mean'), 2)
tab_renda_sexo_cor
1 resposta

Oi, Vinicius! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Seu código está bem estruturado e mostra um bom entendimento de groupby e crosstab para análise de dados. Continue assim!

Uma dica interessante para o futuro é usar o método value_counts() para gerar tabelas de frequência de forma mais direta, principalmente quando não há necessidade de múltiplos agrupamentos. Veja este exemplo:


frequencia = dados['sexo_nome'].value_counts(normalize=True) * 100
print(frequencia)

Esse codigo calcula a frequencia relativa, facilitando analises mais rapidas no dia a dia.

Para saber mais:

Sugestão de conteúdo:

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!