Temporian:时序数据处理的利器
Temporian是由Google与Tryolabs合作开发的开源Python库,旨在为时序数据的预处理和特征工程提供安全、简单且高效的解决方案。它支持多种类型的时序数据,包括多变量时间序列、事件日志和跨源事件流等,为机器学习应用提供了强大的数据处理能力。
主要特性
Temporian具有以下几个突出的特点:
-
全面支持时序数据: Temporian可以处理均匀采样和非均匀采样的数据,支持单变量和多变量数据,适用于扁平和多索引数据结构,还能处理单源和多源的非同步事件。
-
针对时序数据优化: Temporian的核心计算部分使用C++实现,并针对时序数据进行了优化。在处理时序数据时,其性能可以比常规数据处理库快1000倍以上。
-
易于集成: Temporian不直接进行机器学习模型训练,而是可以无缝集成到各种机器学习库中,如PyTorch、Scikit-Learn、Jax、TensorFlow、XGBoost或Yggdrasil Decision Forests等。
-
防止未来数据泄露: 除非使用
tp.leak
明确指定,否则特征计算不会依赖于未来的数据,从而避免了难以调试且可能代价高昂的未来数据泄露问题。
快速入门
要开始使用Temporian,首先需要通过pip安装:
pip install temporian -U
目前Temporian支持Linux和MacOS(ARM和Intel架构),Windows版本正在开发中。
下面是一个简单的示例,展示了如何使用Temporian处理销售数据:
import temporian as tp
# 加载销售交易数据
sales = tp.from_csv("sales.csv")
# 按商店索引销售数据
sales_per_store = sales.add_index("store")
# 列出工作日
days = sales_per_store.tick_calendar(hour=22)
work_days = (days.calendar_day_of_week() <= 5).filter()
# 按商店和工作日汇总收入
daily_revenue = sales_per_store["revenue"].moving_sum(tp.duration.days(1), sampling=work_days).rename("daily_revenue")
# 将结果导出为Pandas DataFrame
result_df = tp.to_pandas(daily_revenue)
这个例子展示了如何加载CSV数据、按商店索引、筛选工作日、计算每个商店在每个工作日的总收入,并将结果导出为Pandas DataFrame。
深入学习
对于新用户,建议先阅读入门指南,它提供了Temporian的关键概念和操作的快速概述。之后,可以查看用户指南深入了解Temporian的主要概念、操作符、约定和实践。如果想要实践学习,可以通过教程进行操作,或参考API文档获取详细信息。
社区支持
如果在使用过程中遇到问题,或者想要贡献代码,欢迎加入Temporian的Discord社区。这里汇集了Temporian的开发者和用户,可以获得及时的帮助和支持。
结语
Temporian为时序数据的处理提供了一个强大而灵活的工具。它不仅能够处理各种复杂的时序数据,还能与现有的机器学习生态系统无缝集成。无论是数据科学家、机器学习工程师,还是对时序数据处理感兴趣的开发者,都可以从Temporian中受益。随着项目的不断发展和社区的支持,Temporian有望成为时序数据处理领域的重要工具之一。
通过使用Temporian,您可以更加高效、安全地处理时序数据,为您的机器学习项目提供坚实的数据基础。无论是金融分析、IoT数据处理,还是用户行为分析,Temporian都能为您提供所需的工具和性能。开始使用Temporian,探索时序数据的无限可能吧!