1
resposta

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

# Importando os pacotes do projeto
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

url = "https://raw.githubusercontent.com/alura-cursos/Estatisticas-Python-frequencias-medidas/refs/heads/main/dados/dados_desafio.csv"
dados = pd.read_csv(url)

sexo_freq = (dados.groupby('Sexo_categoria', observed = False).size().reset_index(name = 'frequencia_abs').sort_values(by='Sexo_categoria', ascending=False))

sexo_freq['freq_relativa'] = round((sexo_freq['frequencia_abs'] / sexo_freq['frequencia_abs'].sum()) * 100, 1)
sexo_freq

freq_sexo_cor = pd.crosstab(dados['Sexo_categoria'], dados['Cor_categoria'])
freq_sexo_cor

freq_relativ_sexo_cor = round(pd.crosstab(dados['Sexo_categoria'], dados['Cor_categoria'], normalize = 'columns') * 100,2)
freq_relativ_sexo_cor


renda_sexo = pd.crosstab( dados['Sexo_categoria'], dados['Cor_categoria'], values = dados['Renda'], aggfunc = 'mean', dropna=True)
renda_sexo = round(renda_sexo, 2)
renda_sexo
1 resposta

Oi, Marcia! Como vai?
Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você estruturou a análise do perfil das pessoas responsáveis utilizando crosstab e agregações com pandas. É interessante ver que você calculou tanto frequências absolutas quanto relativas, além de relacionar renda por sexo e cor, o que dá uma visão completa do público.

Uma dica interessante para o futuro é usar o método sort_values para organizar resultados de forma mais intuitiva. Veja este exemplo:


# Ordena o dataframe pela coluna 'Renda' em ordem decrescente
renda_sexo_sorted = renda_sexo.sort_values(by='Renda', ascending=False)

print(renda_sexo_sorted)

Este código organiza a tabela renda_sexo do maior para o menor valor de renda, facilitando a visualização de padrões.

Qualquer dúvida que surgir, compartilhe no fórum. Abraços e bons estudos!

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