Calcule as medidas de tendência central (média, mediana e moda) para a variável Renda: calcule os valores e observe o que estes dados representam. Quais os valores mais frequentes? Eles condizem com a média ou estão aquém? Será que temos dados muito extremos?
#a renda média é aproximadamente 2000
print(f'A média das rendas é: {dados['Renda'].mean():.2f}')
#a mediana de renda é 1200
print(f'A mediana das rendas é: {dados['Renda'].median()}')
#a moda da renda é 788 e aparece 6881 vezes na base
print(f'A moda da Renda é: {int(dados['Renda'].mode()[0])} e aparece {int(dados['Renda'][dados['Renda'] == 788].value_counts())} vezes na base de dados')
print(f'A maior renda é: {dados['Renda'].max()} e a menor renda registrada é: {dados['Renda'].min()}')
Crie um gráfico de barras do Top 5 estados pela médias de Renda: Leia as dicas no documento para conseguir filtrar os dados dos estados com as maiores médias de renda e construa uma tabela e visual com esses dados.
dados_renda_estados = dados.groupby('UF')['Renda'].mean().sort_values(ascending = False).reset_index()
dados_renda_estados_top_5 = dados_renda_estados.head(5).copy()
dados_renda_estados_top_5.columns = ['Estado', 'Renda Média']
dados_renda_estados_top_5
sns.barplot(dados_renda_estados_top_5, x = 'Estado', y = 'Renda Média')
plt.show()
Construa 3 tabelas cruzadas calculando a média, mediana e valores máximos de Renda relacionando as pessoas responsáveis por estado da Região Sudeste (UF) e por Cat.Sexo: filtre os dados pelos estados da Região Sudeste c("Espírito Santo", "Minas Gerais", "Rio de Janeiro", "São Paulo") e crie uma tabela para cada medida requisitada. O que você encontrou aqui? Tem algum dado que te chamou atenção? Se quiser, crie um gráfico você mesmo ou com auxílio da IA para observar esses comportamentos.
sudeste = ['Espírito Santo', 'Minas Gerais', 'Rio de Janeiro', 'São Paulo']
dados[dados['UF'].isin(sudeste)]['UF']
sudeste_medidas = round(pd.crosstab(dados[dados['UF'].isin(sudeste)]['UF'], dados['sexo_nome'], values = dados['Renda'], aggfunc = ['mean', 'median', 'max']), 2)
sudeste_medidas
Construa 2 histogramas com curva de densidade com os valores das colunas Altura e Idade de todas as pessoas responsáveis e compare as curvas obtidas com as suas MTCs: Crie para cada variável um histograma com curva de densidade e interprete o que a curva pode apontar. Utilize como suporte uma tabela com as medidas de tendência central verificando se o comportamento da curva esperado bate com os dados encontrados.
#Altura
medidas_altura = {'media': dados['Altura'].mean(), 'mediana': dados['Altura'].median(), 'moda': dados['Altura'].mode()[0]}
medidas_altura
sns.histplot(dados['Altura'], bins = 20, kde = True)
plt.axvline(medidas_altura['media'], color="red", linestyle="--", label=f'Média: {medidas_altura['media']:.2f}')
plt.axvline(medidas_altura['mediana'], color="green", linestyle="-.", label=f'Mediana: {medidas_altura['mediana']:.2f}')
plt.axvline(medidas_altura['moda'], color="black", linestyle=":", label=f'Moda: {medidas_altura['moda']:.2f}')
plt.legend(title='', fontsize=10)
#Idade
medidas_idade = {'media': dados['Idade'].mean(), 'mediana': dados['Idade'].median(), 'moda': dados['Idade'].mode()[0]}
medidas_idade
sns.histplot(dados['Idade'], bins = 20, kde = True)
plt.axvline(medidas_idade['media'], color="red", linestyle="--", label=f'Média: {medidas_idade['media']:.2f}')
plt.axvline(medidas_idade['mediana'], color="green", linestyle="-.", label=f'Mediana: {medidas_idade['mediana']:.2f}')
plt.axvline(medidas_idade['moda'], color="black", linestyle=":", label=f'Moda: {medidas_idade['moda']:.2f}')
plt.legend(title='', fontsize=10)