Projeto desenvolvido para manipulação de dados de uma base da Bolsa de Valores e criação de gráficos com bibliotecas Pandas e Plotly Express do Python no Google Colab.
É uma proposta de trabalho feita na Imersão Python: Do Excel à Análise de Dados, promovida pela Alura.
- prompt 1
- código para inclusão da coluna
resultado
# Aplica a lógica da fórmula (da planilha Principal) utilizando uma expressão lambda e a função apply
# Expressao lambda é usada para fazer operações linha a linha
# Função apply é chamada para aplicar outra função
df_principal['resultado'] = df_principal['variacao_rs'].apply(lambda x: 'Subiu' if x > 0 else ('Desceu' if x < 0 else 'Estável'))
df_principal
- prompt 2
- código para inclusão da coluna
cat_idade
# Cria a coluna 'cat_idade' (= planilha Principal) no dataframe
# Aplica a lógica da fórmula para criar a coluna utilizando expressão lambda e função apply
df_principal['cat_idade'] = df_principal['idade'].apply(lambda x: 'Mais de 100' if x > 100 else ('Menos de 50' if x < 50 else 'Entre 50 e 100'))
df_principal
- prompt 3
- código para criação de planilha com métricas da coluna
variacao_rs
# Análise de dados com métricas
# Calcula o maior valor
maior = df_principal['variacao_rs'].max()
# Calcula o menor valor
menor = df_principal['variacao_rs'].min()
# Calcula a média
media = df_principal['variacao_rs'].mean()
# Calcula a média de quem subiu
media_subiu = df_principal[df_principal['resultado'] == 'Subiu']['variacao_rs'].mean()
# Calcula a média de quem desceu
media_desceu = df_principal[df_principal['resultado'] == 'Desceu']['variacao_rs'].mean()
(...)
- código para criar gráfico de barras da Variação em R$ por Resultado
# Gera gráfico de barras com biblioteca Plotly Express
fig = px.bar(df_analise_saldo, x='resultado', y='variacao_rs', text='variacao_rs', title='Variação em Reais por Resultado')
# Exibe o gráfico na tela
fig.show()
- Pesquise com a documentação da biblioteca Plotly ou GPT como mudar a formatação dos números do gráfico de barras;
- Fazer o gráfico de pizza no df_análise_segmentos com a mesma biblioteca Potly;
- Fazer o
groupby
da categoria de idades e gerar o gráfico de barras.
☑️ RESOLUÇÃO DOS DESAFIOS
- prompt 4
- código para formatação dos números nas barras do gráfico das categorias por idade
# Gera gráfico de barras com formatação dos números (separador de milhar no texto das barras)
fig = px.bar(df_analise_saldo, x='resultado', y='variacao_rs', text=df_analise_saldo['variacao_rs'].apply(lambda x: '{:,.2f}'.format(x)), title='<b>VARIAÇÃO EM REAIS POR RESULTADO</b>')
# Exibe o gráfico na tela
fig.show()
- prompt 5
- código para criar gráfico em formato de pizza com Variação em R$ por Segmento de quem subiu
# Cria o gráfico de pizza do df_analise_segmento
# Filtra os dados para remover os segmentos 'Petróleo', 'Mineração' e 'Banco'
df_analise_segmento_filtrado = df_analise_segmento[~df_analise_segmento['segmento'].isin(['Petróleo', 'Mineração', 'Banco'])]
# Ajusta o tamanho da pizza
fig = px.pie(df_analise_segmento_filtrado, values='variacao_rs', names='segmento', title='<b>VARIAÇÃO EM R$ POR SEGMENTO COM ALTA NO RESULTADO</b>', width=1024, height=1024)
# Exibe o gráfico
fig.show()
- prompt 6
- código para criar gráfico de barras da Variação em R$ a partir do agrupamento das categorias de idade das empresas
# Cria gráfico de barras com dados de df_analise_cat_idade usando Plotly Express
fig = px.bar(df_analise_cat_idade, x='cat_idade', y='variacao_rs', text='variacao_rs', title='<b>VARIAÇÃO EM R$ versus IDADE</b>')
# Formata números em textos das barras para terem separadores de milhar e 3 casas decimais após a vírgula
fig.update_traces(texttemplate='%{text:,.2f}')
# Atualiza os nomes dos eixos
fig.update_xaxes(title_text='Idade')
fig.update_yaxes(title_text='Variação em R$')
# Exibe o gráfico
fig.show()
Carla Edila Silveira
Contato: rosa.carla@pucpr.edu.br
Conheça as bibliotecas do Python de Data Visualization
O que é DataFrame
ChatGPT e a análise de dados avançada
Documentação do Pandas GroupBy
Documentação da biblioteca Plotly