0
respostas

[Projeto] Mão na massa: explorando novos dados

Importe o dataset e armazene o conteúdo em um data.frame: no documento já consta a url, mas você precisa passar o arquivo .csv que está nela para uma variável.

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

Visualize o conteúdo do data.frame e leia as infos sobre os dados (linhas, colunas, tipos): Observe brevemente os dados usando as funções de leitura dos dados e visualize os tipos de dados.

#visualizando dataframe
dados

#verificando linhas, colunas, tipos de dados
dados.info()

#obtendo dados estatísticos da base
dados.describe()

Explore brevemente a variável UF e investigue quantos dados possuímos para cada estado: observe quantos valores distintos temos na variável, conte as ocorrências em cada caso e crie um gráfico de barras horizontal com esses dados.

#verificando os valores únicos de UF
dados['UF'].unique()

#gerando um df exclusivo com a contagem de amostras por estado
dados_uf = dados['UF'].value_counts().reset_index()
dados_uf

#obtendo dados estatísticos das amostras por UF
dados_uf.describe()

#gerando gráfico de barras horizontal com a contagem de amostras por estado
plt.barh(dados_uf['UF'], dados_uf['count'])

Transforme as variáveis Sexo, Cor e Anos.de.Estudo em categorical e observe o resultado: crie colunas que tratam as variáveis categóricas nominais e ordinais de dados numéricos. Siga as instruções e dados trazidos no documento. Leia no final a nova tabela com os dados transformados.

# Definindo as variáveis
sexo = {0: 'Masculino', 1: 'Feminino'}

cor = {0:'Indígena', 2:'Branca', 4:'Preta', 6:'Amarela', 8:'Parda'}

anos_de_estudo = {1:'Sem instrução e menos de 1 ano', 2:'1 ano', 3:'2 anos', 4:'3 anos', 5:'4 anos', 6:'5 anos',
    7:'6 anos', 8:'7 anos', 9:'8 anos', 10:'9 anos', 11:'10 anos', 12:'11 anos', 13:'12 anos',14:'13 anos',
    15:'14 anos', 16:'15 anos ou mais', 17:'Não determinados'
}

#Criando as colunas categóricas de sexo, cor, anos de estudo
dados['sexo_nome'] = pd.Categorical(dados['Sexo'], categories = sexo.keys(), ordered = True)
dados['cor_nome'] = pd.Categorical(dados['Cor'], categories = cor.keys(), ordered = True)
dados['anos_de_estudo_nome'] = pd.Categorical(dados['Anos.de.Estudo'], categories = anos_de_estudo.keys(), ordered = True)

#mapeando as colunas de nome com seus respectivos dicionários
dados['sexo_nome'] = dados['sexo_nome'].map(sexo)
dados['cor_nome'] = dados['cor_nome'].map(cor)
dados['anos_de_estudo_nome'] = dados['anos_de_estudo_nome'].map(anos_de_estudo)

#reordenando colunas
dados = dados[['UF', 'Sexo', 'sexo_nome', 'Idade', 'Cor', 'cor_nome', 'Anos.de.Estudo', 'anos_de_estudo_nome',
               'Altura', 'Renda']]

#checando df atualizado
dados

Apresente em texto a menor e maior Renda da base de dados: Utilize a função print juntamente a formatação de dados f-string como explicada no documento para exibir estes dados.

#obtendo a maior e menor renda e imprimindo na tela
maior_renda = dados['Renda'].max()
menor_renda = dados['Renda'].min()
print(f'A maior renda registrada na base é {maior_renda:.2f} e a menor renda é {menor_renda:.2f}')