image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image

CP

Cainã Pinto23/07/2025 23:35
Compartilhe
Randstad - Análise de DadosRecomendados para vocêRandstad - Análise de Dados

Análise de Dados Interativa: Como Python, Pandas e Streamlit constroem Timelines Visuais

  • #Data

Você sabia que é possível transformar grandes volumes de dados em visualizações interativas?

Neste artigo, vou te mostrar como o Python — junto com bibliotecas como Pandas e Streamlit — se tornou essencial para a análise de dados, permitindo a criação de gráficos, dashboards e até timelines dinâmicas.

O Python se consolidou como uma das principais ferramentas para análise de dados. Sua facilidade de aprendizado e, principalmente, seu vasto ecossistema de bibliotecas o tornam ideal para resolver problemas complexos com agilidade.

Para este projeto, utilizaremos as seguintes bibliotecas:

  • Pandas: Fundamental para a manipulação e tratamento de dados.
  • Streamlit: Permite a criação de interfaces web interativas de forma rápida e intuitiva.
  • Plotly Express: Uma poderosa biblioteca para visualização de dados interativos, ideal para nossas timelines.

Neste artigo, você verá como essas ferramentas podem ser combinadas para criar uma timeline visual que transforma tabelas em insights temporais claros e interativos.

O que é uma Timeline e sua Importância na Análise de Dados

O que é uma Timeline?

Uma timeline, ou linha do tempo, é uma representação gráfica de eventos ao longo de um período. Ela permite visualizar a evolução de dados de forma cronológica, facilitando a identificação de padrões, tendências e até mesmo previsões.

Exemplos de Uso Prático

Timelines podem ser aplicadas em diversos contextos. Um exemplo comum é o mapeamento de Ordens de Produção (OPs) em fábricas, onde a visualização do tempo ajuda a entender quando e onde uma atividade ocorre, otimizando o uso de máquinas e recursos. Em contextos como logs de sistemas, eventos históricos, planejamento de projetos e análise de séries temporais, a timeline também se mostra extremamente útil para identificar tendências, gargalos e tomar decisões estratégicas baseadas no tempo.

Tecnologias Usadas: Python, Pandas, Streamlit e Plotly Express

Python

Uma linguagem de programação de sintaxe simples, clara e poderosa. É amplamente utilizada em ciência de dados, análise de dados, inteligência artificial, automação, desenvolvimento web e muitas outras áreas.

Pandas

Uma biblioteca essencial para análise de dados em Python. Permite manipular, filtrar, transformar e organizar grandes volumes de dados com poucos comandos. Seu uso é quase padrão em projetos de Data Analytics, especialmente para trabalhar com DataFrames.

Streamlit

Um framework open source que permite a criação de aplicações web interativas com Python. Com poucas linhas de código, é possível transformar scripts em dashboards modernos e funcionais, ideais para compartilhar análises.

Plotly Express

Uma biblioteca de visualização de dados de alto nível, baseada em Plotly, focada na criação de gráficos interativos. É ideal para construir gráficos de linha do tempo, séries temporais e outros elementos visuais avançados, com pouquíssima configuração.

Integração das Ferramentas

A combinação dessas ferramentas permite criar soluções poderosas e acessíveis para análise de dados. O que antes era um processo manual e segmentado, hoje pode ser centralizado em uma aplicação web interativa. Este projeto de timeline é uma prova prática do quanto o Python potencializa a análise de dados — tanto em produtividade quanto em clareza na comunicação de insights.

Preparando os Dados com Pandas

É essencial que os dados estejam tratados e organizados antes de sua visualização. É nesse ponto que o Pandas entra em ação, uma biblioteca poderosa para a manipulação de dados tabulares em Python.

Para que os dados se tornem utilizáveis, normalmente seguimos alguns passos fundamentais:

  • Leitura dos dados: O Python nos permite ser bem flexíveis em relação à conexão com fontes de dados. Isso nos possibilita acessar e coletar dados de diversas origens, transformando-os em tabelas (DataFrames) para análise.
  • Tratamento dos dados: Em muitas fontes, encontramos dados que não serão úteis para nossa aplicação. É crucial, então, tratar e limpar valores desnecessários ou nulos, garantindo a qualidade e a relevância das informações.
  • Criação de colunas auxiliares: Em projetos com um grande número de colunas e linhas, ajustes como a criação de colunas para derivar valores únicos ou para facilitar a análise são essenciais.


Exemplo Simplificado:

import pandas as pd

# Carregando os dados
df = pd.read_csv('dados_ops.csv')

# Convertendo colunas para datetime (fundamental para timelines!)
df['inicio'] = pd.to_datetime(df['inicio'])
df['fim'] = pd.to_datetime(df['fim'])

# Calculando a duração (exemplo de coluna auxiliar)
df['duracao'] = (df['fim'] - df['inicio']).dt.total_seconds() / 60 # em minutos

# Removendo dados faltantes
df = df.dropna(subset=['inicio', 'fim'])

Como pode-se observar, o Pandas não só recebe dados de forma flexível, mas também nos permite tratá-los e prepará-los de maneira única e eficiente para as próximas etapas.

Para saber mais sobre essa ferramenta incrível, sugiro que acessem a documentação oficial do Pandas,onde encontrarão diversas formas de manipular dados, além de um guia inicial excelente para quem está começando.

Criando a Interface Interativa com Streamlit

Após a manipulação dos dados via Pandas, entramos na etapa de criar e exibir nossos gráficos. E sim, é tão fácil quanto parece!

O Python nos proporciona praticidade e conforto em manipular e exibir os dados. Por isso, desenvolver um dashboard interativo pode ser bem mais simples do que se imagina.

Com os dados tratados e prontos para uso, o próximo passo é a visualização. É aqui que entra o Plotly Express, que nos permite exibir as informações da melhor forma, dependendo do caso.

Como exemplo, apresento a timeline, um gráfico altamente eficaz para produtividade e organização. Ele foi desenvolvido para mostrar quando e onde produzir ou realizar uma tarefa.

image

Um exemplo prático de timeline é a visualização operacional, que orienta a execução de tarefas de produção ao indicar o momento e local mais adequados para cada atividade.

No gráfico de barras horizontais, as cores podem representar diferentes situações: verde para processos dentro do tempo planejado, amarelo para atrasos, vermelho para colisões operacionais e cinza para processos pendentes.

Para exibir esses gráficos, utilizamos o Streamlit. Ele é um framework voltado para facilitar a criação de visualizações web de forma simples e rápida, essencial para dashboards e análise de dados.

Essa biblioteca nos permite criar aplicações com poucos comandos e incluir filtros para uso específico.

Aqui estão alguns componentes básicos que você pode utilizar:

  • st.selectbox() e st.multiselect() para seleções de filtros.
  • st.date_input() para seleção de datas.
  • st.plotly_chart() para exibir o gráfico interativo gerado com Plotly Express.


Exemplo Resumido da Interface:

import streamlit as st
import plotly.express as px

# Supondo que 'df' já foi preparado com Pandas
opcoes = df['op'].unique()
op_selecionada = st.selectbox('Selecione a OP', opcoes)

df_filtrado = df[df['op'] == op_selecionada]

fig = px.timeline(
 df_filtrado,
 x_start='inicio',
 x_end='fim',
 y='maquina',
 color='status',
 title=f'Timeline da OP: {op_selecionada}' # Adicionei um título para o gráfico
)

st.plotly_chart(fig)

Com essas ferramentas em conjunto, é possível criar diversas interfaces interativas, demonstrando o poder que o Python tem sobre a análise de dados. Além disso, essa abordagem é altamente escalável e flexível, tanto para iniciantes quanto para uso em empresas.


Desafios Enfrentados e Soluções Implementadas

Ao longo do desenvolvimento, enfrentei alguns desafios comuns nesse tipo de projeto, como aprofundar o uso das ferramentas para uma aplicação tão específica quanto uma timeline produtiva.

Desafios Principais:

  • Persistência de seleção: Por padrão, o Streamlit é sensível a interações na tela. Ao selecionar algo, ele atualiza as informações, o que em determinadas situações fazia com que dados importantes se perdessem.
  • Atualização automática: Dashboards desse nível, como uma timeline operacional, precisam de atualizações constantes para refletir a realidade.
  • Layout responsivo: Apesar de ser um framework voltado para visualizações rápidas, o suporte do Streamlit para um layout totalmente responsivo é um pouco limitado para controles muito específicos.

Como Resolvi:

  • st.session_state: Utilizei st.session_state para guardar seleções e manter o estado entre as interações. Assim, ao interagir com a tela, o código salva as informações em uma variável global, e os dados não se perdem.
  • st_autorefresh(): Implementei a função st_autorefresh() (do pacote streamlit_autorefresh) para atualizar os dados automaticamente sem perder o contexto, permitindo controlar o intervalo de tempo para essas atualizações.
  • CSS Externo: Embora os recursos de layout nativos sejam limitados para personalizações complexas, o uso de CSS externo pode ser explorado para um controle mais preciso do layout, se necessário.

Aplicações Práticas e Possibilidades de Expansão

A timeline é uma ferramenta versátil, essencial em diversas áreas onde a visualização cronológica de dados é crucial para a tomada de decisões e otimização. Veja alguns exemplos de onde ela pode ser aplicada em projetos reais:

Gerenciamento de Projetos e Eventos:

  • Uma timeline é fundamental para organizar projetos e eventos, permitindo um controle preciso de prazos e a distribuição eficiente de recursos.
  • Exemplo: No planejamento e execução de eventos como conferências, casamentos ou campanhas de marketing, cada etapa tem um período definido. Visualizá-las em uma timeline ajuda a evitar sobreposições e gargalos, garantindo um fluxo de trabalho suave.

Análise de Processos Operacionais:

  • Ter um controle visual sobre a produção em uma indústria é vital. Uma timeline permite acompanhar quais máquinas estão sendo utilizadas, quais recursos estão em uso e como otimizar a produtividade da empresa.
  • Ela pode revelar horários de inatividade, máquinas paradas que poderiam otimizar a produção e até mesmo identificar gargalos.
  • Além disso, a timeline é útil em outras áreas, como na saúde, para gerenciar a disponibilidade de salas em diferentes horários ou o agendamento de procedimentos.

Análise de Séries Temporais e Dados Financeiros:

  • No setor financeiro, a timeline é valiosa para analisar gastos ao longo do tempo.
  • Exemplo: Ela pode ajudar a entender quando e por que uma tarefa teve uma queda de desempenho ou indicou um atraso, permitindo identificar as causas.
  • É possível detectar falhas em processos, prever tendências futuras e até integrar com modelos de Machine Learning para detectar anomalias ou prever imprevistos com base em padrões históricos.

Recursos Humanos:

  • No campo administrativo, uma timeline pode ser usada para analisar e acompanhar planos de carreira, medindo o tempo necessário para alcançar objetivos ou para o desenvolvimento profissional de colaboradores.
  • Permite gerenciar e otimizar ciclos de trabalho, como avaliações de desempenho e treinamentos.


Sugestões para Melhorias Futuras

Acredito que a melhoria contínua é essencial para aprofundar a análise de dados. Pensando em uma timeline, destaco as seguintes possibilidades de aprimoramento:

  • Integração com bancos de dados maiores: Para lidar com Big Data, é fundamental integrar a timeline com bancos de dados mais robustos, como PostgreSQL, MySQL ou até data warehouses. Isso permite analisar e manipular volumes muito maiores de dados, aperfeiçoando a análise ao longo do tempo.
  • Filtros mais avançados e pesquisa: Melhorias como filtros de tempo específicos, filtros cruzados entre diferentes operações, categorias ou até mesmo operadores, ampliariam significativamente a capacidade de exploração dos dados.
  • Atualização em tempo real: Por ser tão flexível, o Streamlit pode ser adaptado para atualizações constantes, garantindo que os dados na timeline reflitam o cenário mais atualizado com pouca latência.
  • Adição de anotações e eventos específicos: Embora possamos indicar o tempo atual, a adição de marcadores visuais para pontos de referência ou eventos importantes (como feriados ou lançamentos) tornaria a timeline ainda mais informativa.
  • Personalização visual: Aprimorar as opções de visualização para o usuário final, permitindo maior customização de cores, ícones e layouts, tornaria a ferramenta mais amigável e adaptável a diferentes contextos.
  • Machine Learning/Previsão: Outra possibilidade é o desenvolvimento contínuo de modelos de Machine Learning. Por exemplo, iniciar com árvores de decisão e, com mais dados, evoluir para técnicas de Deep Learning para gerar previsões mais precisas.
  • Autenticação e Permissões: Implementar sistemas de controle de usuário é crucial para a segurança de aplicações, garantindo que apenas pessoas autorizadas possam acessar ou manipular dados específicos na timeline.


Conclusão

Portanto, pode-se concluir que o Python é, sem dúvida, um pilar fundamental para a análise de dados na era atual, sendo uma linguagem versátil, de sintaxe simples e fácil de manipular. Exploramos diversas aplicações para dashboards e análises de dados, demonstrando como tudo isso pode ser alcançado com o Python e suas poderosas bibliotecas.

Recapitulação dos Principais Pontos:

  • O Python e sua flexibilidade de aprendizado são cruciais para o avanço da análise de dados.
  • A combinação de Pandas (para o backend da manipulação de dados), Streamlit (para o frontend interativo) e Plotly Express (para a visualização robusta) forma um conjunto de ferramentas ideal para qualquer analista de dados.
  • É vital reconhecer que a timeline vai muito além de um simples gráfico de tempo; é uma ferramenta ampla e poderosa para gestão, análise e tomada de decisão.

Para aqueles que buscam se aventurar no vasto campo da análise de dados, deixo um convite para se aprofundar nessa linguagem de programação e em suas bibliotecas. Elas impulsionarão seu desenvolvimento muito além do esperado. Ferramentas como Pandas, Streamlit e Plotly tornam possível que profissionais em diferentes níveis de experiência desenvolvam dashboards e análises interativas, como as timelines abordadas neste artigo."


Referências

Para saber mais sobre as bibliotecas mencionadas e aprofundar seus conhecimentos, seguem os links para as documentações oficiais:

Compartilhe
Recomendados para você
GFT Start #7 .NET
GFT Start #7 - Java
Deal Group - AI Centric .NET
Comentários (1)
DIO Community
DIO Community - 24/07/2025 09:17

Excelente explanação, Cainã. Sua abordagem sobre como transformar dados em interfaces interativas com Python, Pandas, Streamlit e Plotly Express foi não só técnica e detalhada, mas também inspiradora para quem quer sair do Excel e entrar no mundo dos dashboards inteligentes.

O exemplo da timeline operacional ficou particularmente interessante, é uma aplicação prática que mostra o impacto real da análise visual em contextos industriais, e a escolha do st.session_state e st_autorefresh para contornar limitações do Streamlit demonstra domínio das ferramentas.

Considerando a riqueza do projeto, você já pensou em disponibilizá-lo como template open-source com dados fictícios para que mais pessoas possam aprender com ele?

Recomendados para vocêRandstad - Análise de Dados