Temporian es una biblioteca para el preprocesamiento seguro , simple y eficiente y la ingeniería de características de datos temporales en Python. Temporian admite series temporales multivariadas, secuencias temporales multivariadas, registros de eventos y flujos de eventos de fuentes cruzadas.
Temporian es para los datos temporales lo que Pandas es para los datos tabulares.
¿Admite la mayoría de los tipos de datos temporales ?: Maneja datos muestreados de manera uniforme y no uniforme, datos de variable única y multivariados, datos planos y de múltiples índices, y eventos no sincronizados de fuente única y de fuente múltiple.
Optimizado para datos temporales : el cálculo central de Temporian está implementado en C++ y optimizado para datos temporales. Temporian puede ser más de 1000 veces más rápido que las bibliotecas de procesamiento de datos disponibles en el mercado cuando opera con datos temporales.
Fácil de integrar en un ecosistema de ML existente : Temporian no realiza ningún entrenamiento de modelo de ML; en cambio, se integra perfectamente con cualquier biblioteca de ML, como PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost o Yggdrasil Decision Forests.
¿Evita fugas futuras no deseadas ?: A menos que se especifique explícitamente con tp.leak
, el cálculo de funciones no puede depender de datos futuros, lo que evita fugas futuras no deseadas, difíciles de depurar y potencialmente costosas.
Instale Temporian desde PyPI con pip
:
pip install temporian -U
Temporian está actualmente disponible para Linux y MacOS (ARM e Intel). El soporte de Windows está en desarrollo.
Considere los registros de ventas que contienen la timestamp
, store
y revenue
de las ventas individuales.
$ 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
...
Nuestro objetivo es calcular la suma de los ingresos de cada tienda a las 11 p.m. todos los días laborables (excluidos los fines de semana).
Primero, cargamos los datos y enumeramos los días laborables.
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 )
Luego, sumamos los ingresos diarios de cada día laborable y de cada tienda.
# 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 el resultado como Pandas DataFrame para su posterior procesamiento o para su consumo por otras bibliotecas.
tp . to_pandas ( daily_revenue )
¡Consulta el tutorial de introducción para obtener más información!
Los nuevos usuarios deben consultar la guía de introducción, que proporciona una descripción general rápida de los conceptos y operaciones clave de Temporian.
Después de eso, visite la Guía del usuario para profundizar en los principales conceptos, operadores, convenciones y prácticas de Temporian. Para una experiencia de aprendizaje práctica, siga los tutoriales o consulte la referencia de API.
Si necesitas ayuda, tienes alguna pregunta, quieres contribuir o simplemente quieres ser parte de la comunidad Temporian, ¡te animamos a unirte a nuestro servidor de Discord! ??
La documentación está disponible en temporian.readthedocs.io. La guía de introducción es la mejor forma de empezar.
¡Las contribuciones a Temporian son bienvenidas! Consulte la guía de contribución para comenzar.
Temporian se desarrolla en colaboración entre Google y Tryolabs.