Temporian est une bibliothèque permettant un prétraitement et une ingénierie de fonctionnalités sûrs , simples et efficaces des données temporelles en Python. Temporian prend en charge les séries temporelles multivariées, les séquences temporelles multivariées, les journaux d'événements et les flux d'événements multi-sources.
Temporian est aux données temporelles ce que Pandas est aux données tabulaires.
Prend en charge la plupart des types de données temporelles ? : gère à la fois les données échantillonnées de manière uniforme et non uniforme, les données à une variable et multivariées, les données plates et multi-index, ainsi que les événements non synchronisés mono-source et multi-source.
Optimisé pour les données temporelles : le calcul de base de Temporian est implémenté en C++ et optimisé pour les données temporelles. Temporian peut être plus de 1 000 fois plus rapide que les bibliothèques de traitement de données disponibles dans le commerce lorsqu'il fonctionne sur des données temporelles.
Facile à intégrer dans un écosystème ML existant : Temporian n'effectue aucune formation de modèle ML - au lieu de cela, il s'intègre de manière transparente à n'importe quelle bibliothèque ML, telle que PyTorch, Scikit-Learn, Jax, TensorFlow, XGBoost ou Yggdrasil Decision Forests.
Empêche les fuites futures indésirables ? : sauf indication explicite avec tp.leak
, le calcul des fonctionnalités ne peut pas dépendre des données futures, empêchant ainsi les fuites futures indésirables, difficiles à déboguer et potentiellement coûteuses.
Installez Temporian depuis PyPI avec pip
:
pip install temporian -U
Temporian est actuellement disponible pour Linux et MacOS (ARM et Intel). La prise en charge de Windows est en cours de développement.
Considérez les enregistrements de vente contenant l' timestamp
, store
et revenue
des ventes individuelles.
$ 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
...
Notre objectif est de calculer la somme des revenus de chaque magasin à 23h chaque jour de la semaine (hors week-end).
Tout d’abord, nous chargeons les données et répertorions les jours ouvrables.
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 )
Ensuite, nous additionnons les revenus quotidiens pour chaque journée de travail et chaque magasin.
# 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 )
Enfin, nous pouvons exporter le résultat sous forme de Pandas DataFrame pour un traitement ultérieur ou pour une consommation par d'autres bibliothèques.
tp . to_pandas ( daily_revenue )
Consultez le didacticiel de mise en route pour en savoir plus !
Les nouveaux utilisateurs doivent se référer au guide de démarrage, qui fournit un aperçu rapide des concepts et opérations clés de Temporian.
Après cela, visitez le guide de l'utilisateur pour une plongée approfondie dans les principaux concepts, opérateurs, conventions et pratiques de Temporian. Pour une expérience d'apprentissage pratique, parcourez les didacticiels ou reportez-vous à la référence de l'API.
Si vous avez besoin d'aide, avez une question, souhaitez contribuer ou souhaitez simplement faire partie de la communauté Temporian, nous vous encourageons à rejoindre notre serveur Discord ! ??
La documentation est disponible sur temporian.readthedocs.io. Le guide de démarrage est la meilleure façon de commencer.
Les contributions à Temporian sont les bienvenues ! Consultez le guide de contribution pour commencer.
Temporian est développé en collaboration entre Google et Tryolabs.