时间序列数据处理,不再使用pandas
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
本文概述了五个Python时间序列库:Darts、GluonTS、Sktime、pmdarima和Prophet/NeuralProphet。重点在于Darts和GluonTS库的数据结构以及它们如何处理Pandas数据框。
Darts
Darts库提供了一个名为TimeSeries的核心数据类,其数据结构包括时间、维度和样本。本文通过从长格式和宽格式Pandas DataFrame转换为Darts数据格式,展示了Darts的使用。例如,使用from_group_dataframe()函数可以将长格式数据转换为Darts格式,而TimeSeries.from_dataframe()则用于宽格式数据。对于单变量Pandas序列,可以使用.from_series()进行转换。Darts数据可以使用.pd_dataframe()和.all_values方法转换回Pandas DataFrame或Numpy数组。
GluonTS
GluonTS是由亚马逊开发的库,专门处理基于神经网络的时间序列建模。它通过PandasDataset.from_long_dataframe()和ListDataset()类将Pandas DataFrame转换为GluonTS数据格式。转换回Pandas DataFrame时,需要将GluonTS的Python字典列表转换为可迭代的形式,然后输出为Pandas DataFrame。
Sktime、pmdarima和Prophet/NeuralProphet
Sktime是与scikit-learn集成的库,它简化了时间序列数据的处理,而pmdarima基于statsmodels库,自动选择最佳ARIMA模型。Prophet是Facebook开发的库,易于使用,并拥有自动检测季节性模式的能力。NeuralProphet是基于Prophet的神经网络架构,用于单变量时间序列预测。这些库与Pandas紧密集成,因此用户不需要进行复杂的数据转换。
结论是,每个库都有其特点和优势,适用于不同的需求和场景。选择哪个库取决于对速度、集成以及模型熟悉程度的要求。
想要了解更多内容?
点击领取《Python学习手册》,后台回复「福利」获取。『数据STUDIO』专注于数据科学原创文章分享,内容以 Python 为核心语言,涵盖机器学习、数据分析、可视化、MySQL等领域干货知识总结及实战项目。