Temporian é uma biblioteca para pré-processamento seguro , simples e eficiente e engenharia de recursos de dados temporais em Python. Temporian oferece suporte a séries temporais multivariadas, sequências temporais multivariadas, logs de eventos e fluxos de eventos de origem cruzada.
Temporian está para os dados temporais assim como o Pandas está para os dados tabulares.
Suporta a maioria dos tipos de dados temporais ?: Lida com dados amostrados uniformemente e não uniformemente, dados de variável única e multivariados, dados simples e de vários índices e eventos não sincronizados de fonte única e de fonte múltipla.
Otimizado para dados temporais : a computação central do Temporian é implementada em C++ e otimizada para dados temporais. O Temporian pode ser mais de 1.000 vezes mais rápido do que bibliotecas de processamento de dados disponíveis no mercado ao operar com dados temporais.
Fácil de integrar a um ecossistema de ML existente : o Temporian não realiza nenhum treinamento de modelo de ML - em vez disso, ele se integra perfeitamente a qualquer biblioteca de ML, como PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost ou Yggdrasil Decision Forests.
Evita vazamentos futuros indesejados ?: A menos que especificado explicitamente com tp.leak
, o cálculo de recursos não pode depender de dados futuros, evitando assim vazamentos futuros indesejados, difíceis de depurar e potencialmente caros.
Instale o Temporian do PyPI com pip
:
pip install temporian -U
Temporian está atualmente disponível para Linux e MacOS (ARM e Intel). O suporte do Windows está em desenvolvimento.
Considere os registros de venda que contêm o timestamp
, store
e revenue
de vendas individuais.
$ cat sales.csv
timestamp,store,revenue
2023-12-04 21:21:05,STORE_31,5071
2023-11-08 17:14:38,STORE_4,1571
2023-11-29 21:44:46,STORE_49,6101
2023-12-20 18:17:14,STORE_18,4499
2023-12-15 10:55:09,STORE_2,6666
...
Nosso objetivo é calcular a soma das receitas de cada loja às 23h todos os dias da semana (excluindo finais de semana).
Primeiro, carregamos os dados e listamos os dias úteis.
import temporian as tp
# Load sale transactions
sales = tp . from_csv ( "sales.csv" )
# Index sales per store
sales_per_store = sales . add_index ( "store" )
# List work days
days = sales_per_store . tick_calendar ( hour = 22 )
work_days = ( days . calendar_day_of_week () <= 5 ). filter ()
work_days . plot ( max_num_plots = 1 )
Em seguida, somamos a receita diária de cada dia útil e de cada loja.
# Aggregate revenue per store and per work day
daily_revenue = sales_per_store [ "revenue" ]. moving_sum ( tp . duration . days ( 1 ), sampling = work_days ). rename ( "daily_revenue" )
# Plot the results
daily_revenue . plot ( max_num_plots = 3 )
Finalmente, podemos exportar o resultado como um DataFrame do Pandas para processamento posterior ou para consumo por outras bibliotecas.
tp . to_pandas ( daily_revenue )
Confira o tutorial de primeiros passos para saber mais!
Novos usuários devem consultar o guia de primeiros passos, que fornece uma visão geral rápida dos principais conceitos e operações do Temporian.
Depois disso, visite o Guia do Usuário para se aprofundar nos principais conceitos, operadores, convenções e práticas do Temporian. Para uma experiência de aprendizagem prática, siga os tutoriais ou consulte a referência da API.
Se precisar de ajuda, tiver alguma dúvida, quiser contribuir ou apenas quiser fazer parte da comunidade Temporian, encorajamos você a se juntar ao nosso servidor Discord! ??
A documentação está disponível em temporian.readthedocs.io. O guia de primeiros passos é a melhor maneira de começar.
Contribuições para o Temporian são bem-vindas! Confira o guia de contribuição para começar.
Temporian é desenvolvido em colaboração entre Google e Tryolabs.