Temporian是一个用于 Python 中安全、简单、高效的时态数据预处理和特征工程的库。 Temporian 支持多元时间序列、多元时间序列、事件日志和跨源事件流。
Temporian 之于时间数据就像 Pandas 之于表格数据一样。
支持大多数类型的时态数据?:处理均匀采样和非均匀采样数据、单变量和多元数据、平面和多索引数据以及单源和多源非同步事件。
针对时态数据进行优化:Temporian 的核心计算是用 C++ 实现的,并针对时态数据进行了优化。在处理时态数据时,Temporian 的速度比现成的数据处理库快 1,000 倍以上。
易于集成到现有的 ML 生态系统中:Temporian 不执行任何 ML 模型训练,而是与任何 ML 库无缝集成,例如 PyTorch、Scikit-Learn、Jax、TensorFlow、XGBoost 或 Yggdrasil Decision Forests。
防止不必要的未来泄漏?:除非使用tp.leak
明确指定,否则特征计算不能依赖于未来数据,从而防止不必要的、难以调试且可能代价高昂的未来泄漏。
使用pip
从 PyPI 安装 Temporian:
pip install temporian -U
Temporian 目前可用于 Linux 和 MacOS(ARM 和 Intel)。 Windows 支持正在开发中。
考虑包含单个销售的timestamp
、 store
和revenue
的销售记录。
$ 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
...
我们的目标是计算每个工作日晚上 11 点(不包括周末)每家商店的收入总和。
首先,我们加载数据并列出工作日。
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 )
然后,我们将每个工作日和每个商店的每日收入相加。
# 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 )
最后,我们可以将结果导出为 Pandas DataFrame 以供进一步处理或供其他库使用。
tp . to_pandas ( daily_revenue )
查看入门教程以了解更多信息!
新用户应参阅入门指南,该指南提供了 Temporian 关键概念和操作的快速概述。
之后,访问用户指南,深入了解 Temporian 的主要概念、运算符、约定和实践。要获得实践学习体验,请完成教程或参考 API 参考。
如果您需要帮助、有疑问、想要贡献或只是想成为 Temporian 社区的一员,我们鼓励您加入我们的 Discord 服务器! ??
该文档可在 temporian.readthedocs.io 上获取。入门指南是最好的开始方式。
欢迎为 Temporian 做出贡献!查看贡献指南以开始使用。
Temporian 是 Google 和 Tryolabs 合作开发的。