Esta aplicação permite realizar downsampling inteligente (LTTB) em múltiplos arquivos CSV padronizados.
A validação segue o Modo 3 (FLEX), garantindo apenas que as colunas selecionadas para X e Y existam em todos os arquivos.
Carregue diversos arquivos padronizados simultaneamente.
- Selectboxes exibidas lado a lado
- A segunda selectbox exclui automaticamente a coluna escolhida na primeira
- Válido para todos os arquivos (mesma estrutura)
A aplicação aceita qualquer estrutura contanto que:
- A coluna X exista
- A coluna Y exista
Caso contrário, o arquivo é marcado como ❌ incompatível.
Colunas X e Y são convertidas com errors='coerce'
Linhas inválidas são removidas.
A densidade é definida em percentual.
A estimativa pós-downsampling é exibida em quantidade de pontos.
Para cada arquivo:
- Nome
- Tamanho (KB)
- Número de linhas
- Número de colunas
- Número de colunas numéricas
Além disso:
- Tamanho total combinado dos arquivos carregados
Para cada arquivo:
- Linhas originais
- Linhas após downsampling
- Status (emoji de OK ou erro)
- Mensagem de erro, se houver
E também:
- Tamanho final do ZIP em KB
Todos os arquivos processados são salvos dentro de um ZIP único.
- Python 3.9+
- Streamlit
- Pandas
- NumPy
Instalação recomendada:
pip install streamlit pandas numpyCom o arquivo index.py, execute:
streamlit run index.py- Todos os arquivos devem ter a mesma estrutura.
- Apenas as colunas X e Y são obrigatórias e devem estar presentes.
- O usuário deve escolher X e Y com base no primeiro arquivo.
- Dados inválidos (strings, NaN) em X ou Y são removidos automaticamente.
- A aplicação visa desempenho, portanto previews extensos não são exibidos.
O algoritmo Largest Triangle Three Buckets (LTTB) reduz a quantidade de pontos preservando a forma geral do sinal, excelente para séries temporais e curvas contínuas.
Um arquivo ZIP contendo:
- Um CSV para cada arquivo de entrada
- Cada CSV já reduzido via LTTB
- Nomes preservados com sufixo
_downsampled.csv
Uso livre para fins acadêmicos, de pesquisa ou industriais.
Aplicação gerada assistivamente com GPT e adaptada para o projeto Caçador de R².