【发布时间】:2019-09-19 06:08:55
【问题描述】:
我有一个包含多个项目(例如用户)的时间序列(每天)的数据集。 数据看起来像这样简化: https://i.ibb.co/Pj4TnHW/trans-original.jpg(我无法发布图片,因为缺少代表点,抱歉)
该数据集对每个用户都具有相同的属性(例如度量)。这些措施是每天在一个时间窗口内采取的。每个用户都有自己的“活动日期”。
我的目标是将这个时间序列(面向行的)数据集转换为可用于监督学习的数据集。 我想要的布局如下所示: https://i.ibb.co/8DxYpCy/Unbenannt.jpg
目前,我将我的解决方案应用于具有约 60 个度量的数据集。 到目前为止,我通过对“user_id”使用迭代并使用 pandas.melt()、pandas.transpose() 函数应用多个步骤来实现这一点。 但这需要大量的预格式化,并且随着数据集的增大而变得更慢。
有没有更好的方法来进行我的转换?我读到了这个https://machinelearningmastery.com/convert-time-series-supervised-learning-problem-python/,但这似乎是另一种类型的问题......
//编辑#1:根据要求,我创建了尽可能小的笔记本/python 脚本,并使用简化的数据集来演示我在做什么:https://www.file-upload.net/download-13590592/timeseries_to_supervised.zip.html (Jupyter Notebook,导出的 HTML 版本,示例输入数据集)
【问题讨论】:
-
复制少量数据会很有帮助,比如以定义 pandas 数据框的代码以及您当前正在使用的代码的形式。这样可以提出更具体的建议!
-
嗨 Josh,我创建了一个 jupyter notebook + 示例数据集。请找到附件中的文件。
标签: python pandas time-series supervised-learning